示例代码:
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()
});
当'activities'设置为ArrayProxy时,会计算'historicalSection'计算属性。但是,当'activities'中的ArrayProxy更新时(即它的长度发生变化),'historicalSection'属性不会更新。
任何想法为什么?
答案 0 :(得分:5)
在activites
上绑定计算属性时,这意味着在为activities
设置新值时会更新它,因此在初始时,并且仅在调用set('activities', newArrayProxy)
时
您可以使用activities.@each
或activities.length
作为绑定属性来观察长度变化