我有一个购物车模型,里面有看起来像这样的元素
[
{
"item_id": 1,
"item_name":"Item 1",
"item_price": 500
},
{
"item_id": 2,
"item_name": "Item 2",
"item_price": 230
},
{
"item_id": 3,
"item_name": "Item 3",
"item_price": 150
}
]
我需要汇总 item_price
属性才能显示它,然后将其传递给 ember 数据或 ajax 调用以完成购买。
不确定我是否只是不理解计算的聚合数据,但我正在尝试这个
totalDue: Ember.computed.sum('model.@each.item_price')
在 Controller 上但它返回 0
我在 ember 2.2.0
最佳答案
你可以这样做:
totalDue: Ember.computed('model.@each.item_price', function() {
const model = this.get('model');
if (!model) {
return 0;
}
let sum = 0;
model.forEach(item => sum += Ember.get(item, 'item_price'));
return sum;
})
关于javascript - 返回每个模型的属性总和的计算属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34442227/