示例代码:
var Day = Ember.Object.extend({
date:null,
activities:null, // is set to an Em.ArrayProxy in instantiation
historicalSection:function(){
return this.get('activities').filterProperty('inHistoricalSection', true);
}.property('activities').cacheable()
});
Run Code Online (Sandbox Code Playgroud)
当'activities'设置为ArrayProxy时,会计算'historicalSection'计算属性.但是,当'activities'中的ArrayProxy更新(即其长度发生变化)时,'historicalSection'属性不会更新.
有什么想法吗?
当你绑定计算属性时activites,它意味着它将在你设置一个新值时更新activities,所以在初始时,并且只在调用时set('activities', newArrayProxy).
您可以使用activities.@each或activities.length作为绑定属性来观察长度变化