在我的视图模型中,我有一个函数可以根据项目的类型返回项目的总和:
var ViewModel = function(data) {
var self = this;
this.Results = ko.observableArray(data);
this.totalPerType = function(type) {
var total = 0;
for (var index in self.Results()) {
if (self.Results()[index].Type == type)
total += self.Results()[index].Quantity;
}
return total;
};
};
当用户编辑其中一项时,总数不会自动更新,因为它不是计算出的 observable。是否可以将函数totalPerType更改为计算的 observable,而不必将类型参数放入视图模型(将其保留为参数)?
我创建了一个小提琴,以便更容易尝试一些事情:http: //jsfiddle.net/7PK9r/