2014-09-21 34 views
0

我的代碼的目的是讓一組導航位置包含'n'個列表。我想在導航中爲用戶顯示#。這裏有一個例子: 搜索(3) 合格(2) 提案(6)在導航加載經過計算的屬性以填充Ember /把手中的導航

我的車把模板如下:

<li>{{#link-to "qualifieditems"}} 
     Qualified ({{controllers.qualifieditems.count}}) 
    {{/link-to}} 
</li> 

我的控制器看起來像這樣:

App.QualifiedItemsController = Ember.ArrayController.extend({ 
    count: function() { 
      return this.get('model.length'); 
    }.property('@each') 
)}; 

當我點擊關聯的導航欄時,ember-data加載並正確計數顯示。

從路由器獲取數據:

App.QualifiedItemsRoute = Ember.Route.extend({ 
    model: function(){ 
     return this.store.find('qualifieditem'); 
    } 

}); 

的導航控制器:

App.NavController = Ember.Route.extend({ 
    needs: 'qualifieditems' 
}); 

的導航路線:

App.NavRoute = Ember.Route.extend({ 
    model: function() { 
     return this.store.find('qualifieditem'); 
    } 
}); 

因此,問題仍然.. 。導航第一次加載時,我如何才能{{count}}更新所有導航項目?

在此先感謝您的幫助!請讓我知道是否有助於發佈任何其他代碼。

回答

0

如果進出口理解正確的話,嘗試有當模特負載

count: function() { 
    return this.get('model.length'); 
}.property('@each', '@each.didLoad') 

當最初的模型完成加載,將didLoad標誌更改爲true的計算性能也觀看。

+0

感謝Jordy Kirkman的迴應。我試着添加@ each.didLoad,但它沒有改變任何東西。我也嘗試在父應用程序模板中加載模型數據,但它也不起作用。 :/ – saberprivateer 2014-09-22 09:38:01