我的控制器有一个计算属性:
App.IndexController = Ember.ArrayController.extend({
grandTotal: function () {
return this.getEach('total').reduce(function(accum, item) {
return accum + item;
}, 0);
}.property('@each.total'),
});
但我无法用我的视图访问它。这是我的看法:
App.SummaryView = Ember.View.extend({
templateName: 'summary',
companiesChanged: function() {
Ember.run.once(this, 'logCompanies');
}.observes('controller.@each'),
logCompanies: function() {
console.log(this.get('controller').get('model').get('length'));
console.log(this.get('controller').get('grandTotal'));
}
});
.get('length')
返回正确,所以我知道何时调用模型已加载。但是grandTotal
回来了NaN
,即使我知道它编码正确,因为它正在模板中呈现。出于其他原因,我需要在我的视图中访问它。
有任何想法吗?