【发布时间】:2014-02-14 02:42:48
【问题描述】:
我遇到了两个级别的计算属性问题。我对 ember 有点陌生,所以希望得到一些指点。
基本问题是计算属性有两个级别 - 一个在订单级别,一个在项目级别。订单级别取决于对商品的计算。
绑定到表单后 - 项目级别计算效果很好,并且当我更改数量时表单会更新。然而,订单总额似乎根本无法计算。我是否缺少属性依赖项中的某些内容?
App.Order = DS.Model.extend({
items: DS.hasMany('item', { async: true } ),
payment_cash: DS.attr('number'),
payment_card: DS.attr('number'),
payment_credit: DS.attr('number'),
balance: DS.attr('number'),
total: function() {
return this.get('items').reduce(function(value,lineItem) {
value += lineItem.get('total');
});
}.property("items.@each.total"),
itemCount: function() {
return this.get('items').reduce(function(value,lineItem) {
value += lineItem.get('quantity');
});
}.property("items.@each.quantity"),
});
App.Item = DS.Model.extend({
order: DS.belongsTo('item'),
product: DS.belongsTo('product'),
quantity: DS.attr('number'),
adjustment: DS.attr('number'),
total: function() {
return this.get('product.price') * this.get('quantity')
}.property('product.price', 'quantity' )
});
App.Product = DS.Model.extend( {
name: DS.attr('string'),
description: DS.attr('string'),
price: DS.attr('number'),
imagePath: DS.attr('string')
});
【问题讨论】:
-
看起来不错,你有没有把一些日志扔到总数中?他们被召唤了吗?
标签: ember.js ember-data