我认为这是一个非常基本的问题,但我只是没有看到错误。我得到了以下简单的模型:
var Row = function(col1, col2)
{
var self = this;
self.column1 = ko.observable(col1);
self.column2 = ko.observable(col2);
self.sum = ko.computed(function(){
var col1 = isNaN(parseInt(this.column1)) ? 0 : parseInt(this.column1);
var col2 = isNaN(parseInt(this.column2)) ? 0 : parseInt(this.column2);
return col1 + col2;
});
}
var RowViewModel = function()
{
this.rows = ko.observableArray([
new Row(10, 20),
new Row(10, 20)
]);
}
ko.applyBindings(new RowViewModel);
如您所见,我只想使用 ko.computed 函数对表行中的两个值求和。但它总是向我显示 NaN(如果我不检查它)或“0”。我真的尝试了很多,但我无法弄清楚问题是什么。这里是我的 jsfiddle:http: //jsfiddle.net/r2JQw/4/