Javascript 如何在ItemView模板中对木偶/主干集合的属性求和?

Javascript 如何在ItemView模板中对木偶/主干集合的属性求和?,javascript,typescript,backbone.js,underscore.js,marionette,Javascript,Typescript,Backbone.js,Underscore.js,Marionette,使用木偶1.8.3/Backbone.js/underline.js和TypeScript 我有一个项目视图 此ItemView有一个模型: export class M1 extends backbone.Model { content: MContent = new MContent(); ... } 该模型具有一个集合属性: export class MContent extends backbone.Collection<MContentGroup> {

使用木偶1.8.3/Backbone.js/underline.js和TypeScript

我有一个项目视图

此ItemView有一个模型:

export class M1 extends backbone.Model {
    content: MContent = new MContent();
    ...
}
该模型具有一个集合属性:

export class MContent extends backbone.Collection<MContentGroup> {
    model: MContentGroup;
    ...
}
在我的ItemView模板中,我想显示Count属性的总和

从一些搜索中,似乎建议使用下划线的reduce,但我不确定如何在以下语法中引用我的集合及其计数:

_.reduce(this? Content?, function(memo, Count){ return memo + Count; }, 0);

如果我理解得很清楚,您需要集合中所有模型的count属性之和

我将使用MyCollection.toJSON,它将为您提供一个模型数组

然后循环数组并使用reduce对其求和

var MyModels = MyCollection.toJSON();
var sum = _.reduce(MyModels, function(model, countSum) {
    return countSum + model.count;
});
诸如此类

编辑:

更好的方法是直接使用收集方法:

myCollection.reduce(function(model, memo) {...})
您不需要JSON,一个主干,这样您就可以调用myCollection.reducefunctionmodel,memo{…}。
myCollection.reduce(function(model, memo) {...})