0

如何在集合的模型中找到特定属性的总数?

var myModel = Backbone.Model.extend({ });

var myCollection = Backbone.Collection.extend({
    model :  myModel,
});

每当模型中的值发生变化时,我必须显示所有值的总和。

例如,我在集合中有 10 个模型,模型中有一个名为amount. amount每当属性获得新值时,我都应该显示总数。

我使用的代码:

debitAmountTotal: function(){
    return this.reduce(function(memo, value) {
        return memo + value.get("amountTcy");
    }, 0);
}

但这会连接值:如果第一个值为 8,第二个值为 8,则结果为 88 而不是 16

4

2 回答 2

2
  1. 为每个模型中的数量分配默认值 0。
  2. 将事件绑定changed到集合的模型,并添加/删除到集合。
  3. 对于changed事件,使用underscore.js 的reduce方法遍历集合并找到金额的总和。
于 2013-08-26T06:17:29.890 回答
0
debitAmountTotal: function(){
    return this.reduce(function(memo, value) {
        return memo + Number(value.get("amountTcy"));
    }, 0);
}
于 2013-08-26T17:03:09.303 回答