我有一个Ember.js ArrayController,我正在尝试创建一个生成访问总和的计算属性,但是我被卡住了:
带排序数组的控制器
App.SpreadsheetController = Ember.ArrayController.extend({
sortProperties: ['visits'],
sortAscending: false,
allVisits: function() {
var visits = this.get('content.@each.visits').toArray();
visits.forEach(function(val) {
// sum all visits
);
return visits;
}.property('content.@each.visits'),
actions: {
orderAsc: function (){
this.set('sortAscending', true);
},
orderDesc: function (){
this.set('sortAscending', false);
},
}
});
的index.html
Without each: {{allVisits}} //show
{{#each}}
{{allVisits}} //don't show
{{/each}}
为什么不在每个访问中显示所有访问?任何解决方案?
答案 0 :(得分:1)
必须是
{{#each allVisits}}
{{this}}
{{/each}}
因为{{each}}
循环中的本地上下文是正在迭代的当前元素,它不具有allVisits属性
答案 1 :(得分:0)
我找到了适合我的解决方案
{{#each}}
{{controller.allVisits}}
{{/each}}
谢谢你的方式