我有这个使用最新 ember 的 JS Bin并演示了我的问题。我有 2 个清单。一个绑定到 ArrayController 的“内容”,另一个绑定到一个名为“filtered”的属性函数,它会过滤掉某些记录。当您添加新记录时(使用列表上方的添加新链接),您可以看到新记录确实进入了内容,但过滤后的列表没有更新。我需要做什么才能让 ArrayController 看到列表中有一条新记录,然后重新渲染该{{#each filtered}}
块?
问问题
133 次
1 回答
1
你的计算属性的依赖键filtered
是错误的,你需要使用content.length
,因为filtered
依赖于属性的一些变化而content
不是过滤本身:
filtered:function() {
return this.get("content").reduce(function (arr, object, index) {
if(object.get("id") != 2) {
arr.pushObject(object);
}
return arr;
}, Em.A());
}.property("content.length")
更新了 jsbin http://jsbin.com/okAKAnU/1/edit
于 2013-10-11T20:54:14.760 回答