我遇到类名绑定问题。这是相同的jsfiddle代码。记录调用绑定的次数。当属性发生变化时,永远不会调用它。
答案 0 :(得分:1)
这里似乎有几个问题。首先,如果您希望在数组内容发生更改时重新计算属性,则不能仅依赖于数组属性本身 - 它只会在设置为其他数组时触发更改。如果您依赖myArray.@each
,则当内容发生变化时,您的财产也会重新计算。
接下来,包含范围的模板未呈现,因为您在手柄视图声明中提供了一个空视图模板。将您的“HTML”更改为:
{{view App.contact}}
,您的范围将会出现。
最后,在这里运行Ember.run.sync()
似乎不够。我不清楚这背后的原因但...计算属性只在读取时更新(与立即更新的观察者相比)。我假设由于您的计算属性仅由视图使用,并且视图可能仅在随后通过JS事件循环运行时更新,因此对于对“下属”的所有更改,仅重新计算一次计算属性。更改您的代码以使用超时,它将正常工作。
这是jsfiddle,其中包含我提出的所有修改建议。