Javascript 如何在ItemView模板中对木偶/主干集合的属性求和?
使用木偶1.8.3/Backbone.js/underline.js和TypeScript 我有一个项目视图 此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> {
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) {...})