我有一个简单的ArrayProxy(计算),当我更新源(数组)内的模型上的任何属性时,我想重新计算。我需要这个,因为我用来过滤数组的filter_func可能有任意数量的动态属性。
return Ember.ArrayProxy.extend({
source: undefined,
content: function () {
var filter_func = this.get("filter_func");
return this.get("source").filter(filter_func);
}.property("source.@each")
}).create({
filter_func: filter_func,
source: this.findAll()
});
今天我只使用"来源。@ every"如上所示,但这只会强制ArrayProxy在从源数组添加/删除新项目时重新计算(而不是在我更改实际模型本身的属性时)
答案 0 :(得分:0)
不确定这是否有帮助,但随着项目的添加或删除,可能会在要添加的项目的每个属性上设置观察者。您需要删除从阵列中删除的每个项目的观察者。
http://www.matchingnotes.com/ember-array-proxy/observers.html
整个演示文稿是ArrayProxy的精彩演练。
我要试一试,看看它是如何运作的。我对这个问题的结果非常感兴趣。