我在Ember中有以下内容
路线
model: function() {
return this.store.findAll('competency');
}
控制器
calendarItems: Ember.computed('model', function() {
return this.get('model').map(function(competency) {
return {
'name': competency.get('title'),
'start': competency.get('endDate')
};
});
})
模板
{{#each model as |item|}}
{{log calendarItems}}
{{/each}}
{{log calendarItems}}
由于某些我不知道的原因,循环内的{{log calendarItems}}
正确显示模型中正确映射的所有商店项目。但只有当{{log calendarItems}}
不存在于循环之外时才会出现。
当{{log calendarItems}}
也出现在循环之外时,它会导致所有4个日志语句返回[]
,就好像模型没有任何要映射的内容一样。
如果{{log calendarItems}}
独立,它也会返回[]
。
我在这里错过了关于Ember的基本信息吗?
提前致谢, 莱恩
答案 0 :(得分:1)
这不一定能修复日志记录,但它应该修复计算属性,因为它应该在记录可用时更新(如果真正的问题是对象是异步加载的,这是我的怀疑)
calendarItems: Ember.computed('model.@each.{title,endDate}', function() {
return this.get('model').map(function(competency) {
return {
'name': competency.get('title'),
'start': competency.get('endDate')
};
});
})