我有模特
// models/group
export default DS.Model.extend({
parent: DS.belongsTo('parent'),
items: DS.hasMany('item', {async: true}),
quantity: Ember.computed.sum('items.@each.quantity'),
});
// models/item
export default DS.Model.extend({
...
quantity: DS.attr('number')
});
在我的模板中(controller.model
设置为parent
)我尝试渲染
{{#each group}}
{{quantity}}
{{/each}}
并期望一个数字列表,但是所呈现的是一个文本列表,如<spa@model:item::ember1036:165>
我猜测异步承诺只能在渲染后解决,但为什么它不会更新?
答案 0 :(得分:2)
我不相信sum会从集合中的每个项目中提取属性。我相信它必须是一组数字。
quantities: function(){
return this.get('items').getEach('quantity');
}.property('items.@each.quantity'),
quantity: Ember.computed.sum('quantities'),