【发布时间】:2014-01-08 10:03:45
【问题描述】:
我正在尝试编写一个与 Ember 一起使用的 Select2View。主要的困难是 Select2 从option 元素中复制数据,因此我们必须在更改它们时通知它。通过将 OptionView 设为非虚拟,然后在 Select2View 中观察 childViews.@each.label,我已经让它大部分工作了。
我注意到当 a 删除在观察者中调用 this.get('childViews') 的调试打印时,它停止工作。有了这个电话,一切都按预期工作。没有它,即使子视图的标签发生变化,也永远不会调用观察者。这是一个 JSFiddle 演示:http://jsfiddle.net/sYCaS/6/。
我在这里做错了什么,还是这是一个错误?我希望能够观察我所有子视图的属性,并在它们发生变化时得到通知。
编辑:看起来这种行为是预期的,并在此处描述:http://emberjs.com/blog/2013/08/29/ember-1-0-rc8.html#toc_unconsumed-computed-properties-do-not-trigger-observers。但是,按照建议将get 移动到init 不起作用。在这种情况下是否会提前调用init 或其他什么?
【问题讨论】:
标签: ember.js