Ember组件属性不是孤立的

chr*_*las 6 ember.js

我在理解预期的Ember.Component隔离行为时遇到了问题.我的理解是,渲染同一组件的多个实例不应导致组件之间共享属性.

我看到相反的行为,其中更新组件上的属性(从组件本身内)更新当前在页面上呈现的该组件的其他实例上的相同属性.

以下是该问题的一个示例:http://jsbin.com/naworoyimoto/1/edit

这是一个错误还是我误解了Ember.Component中的隔离效果如何?

Nic*_*her 17

我认为您正在体验JavaScript对象引用的有趣特性.我前一段时间遇到了这个问题,事实证明,因为我在类定义中的属性上定义数组,它导致该类的所有实例引用相同的数组对象.

我通常解决这个问题的方法是将我想要成为数组的属性设置为null,然后在init方法中设置数组.这可以确保每个实例都创建自己的数组,而不是与其他实例共享数组引用!

这是我的jsbin示例的分支,我的修复已应用:http://jsbin.com/xulidefikuyu/1/