我有一个控制器,它使用content
作为基础,然后有另一个变量称为items
内容的过滤版本。items
更新时应该content
更新。我尝试在我的控制器中做这样的事情:
updateItems: function() {
var items = this.get('content').filter(this.get('toggleFilter'));
this.set('items', items);
}.observes('toggleFilter', 'content'),
这很好用,除了第一次加载。首次浏览页面时,项目为空。我认为这是因为在 setupController 中它设置content
为仍在等待信息。
我注意到将观察设置为content.length
使其工作。但是,这并不理想,部分原因updateItems
是加载数据时每次插入都会调用该方法,还因为内容可能会更改,但长度可能保持不变。有一个更好的方法吗?