我在使用计算属性时遇到问题。
这是对ArrayController
. 问题是,Ember 会在数据加载之前尝试计算它。例如,其中一部分是
var counts = this.getEach('hours').forEach(function(hours) {
var d = hours.find(function(_hour) {
return +(_hour.date.substring(11, 13)) === 10;
});
return d.count;
});
我收到一个错误,因为this.getEach('hours')
返回类似
[ Array[24], undefined ]
在加载 AJAX 请求时,代码会中断。
我敢肯定其他人以前遇到过这种情况-解决方案是什么?
更新:这是我获取数据的方式。当用户在视图中单击一个月时,我将单击的月份的 id 传递给我的MonthsController
. 它有一个toggleMonth
方法:
App.MonthsController = Ember.ArrayController.extend({
toggleMonth: function(id) {
var month = App.Month.find(id),
index = this.indexOf(month);
if (index === -1) {
this.pushObject(month);
} else {
this.removeAt(index);
}
}
});
App.Month.find(id)
发送正确的 AjAX 请求 + 数据返回,但这可能不是填充月份控制器的正确方法。
此外,这发生在IndexRoute
(即我没有单独的路由.MonthsController
所以,我从不指定模型钩子或setupController
.MonthsController