查询参数更改时,过滤结果需要更新

时间:2014-12-16 16:55:58

标签: ember.js ember-cli

使用下面的代码,我希望状态为切换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;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

仅供参考,如果您想使用过滤结果,可以使用标准属性 - arrangedContent

您没有将queryParam包含为依赖项:

filteredResults: function() {                                    
  ....
}.property('model.@each.state', 'showReturned'),