使用下面的代码,我希望状态为切换showReturned并更新页面上的filteredResults。
然而,这似乎并没有发生,因为查询参数中的更改不会自动触发回调,例如刷新模型,或者在这种情况下,更新filteredResults。
如何点击状态以更新页面上的filteredResults?
export default Ember.ArrayController.extend({
showReturned: false,
queryParams: ['showReturned'],
filteredResults: function() {
var articles = this.get('model');
var showReturned = this.get('showReturned');
if (showReturned) {
return articles;
} else {
return articles.filterBy('state', 'borrowed');
}
}.property('model.@each.state'),
actions: {
setShowReturned: function() {
this.toggleProperty('showReturned');
return false;
}
}
});

<thead>
<tr>·
<th>Description</th>·
<th>Notes</th>·
<th>Borrowed since</th>
<th {{action "setShowReturned"}}> Status</th>
<th></th>
</tr>
</thead>
&#13;
答案 0 :(得分:1)
仅供参考,如果您想使用过滤结果,可以使用标准属性 - arrangedContent
。
您没有将queryParam包含为依赖项:
filteredResults: function() {
....
}.property('model.@each.state', 'showReturned'),