我的 5 个视图模型中的每一个都有一个 rowNumber 属性。此外,还有一个基于 rowNumber 属性的计算 observable。这是代码:
function EntityViewModel() {
this.rowNumber = ko.observable();
this.isOdd = ko.computed(function () {
return this.rowNumber() % 2 != 0;
}, this);
this.isEven = ko.computed(function () {
return this.rowNumber() % 2 == 0;
}, this);
}
我有一个继承自 EntityViewModel 的 CountryViewModel,如下所示:
CountryViewModel.prototype = new EntityViewModel();
function CountryViewModel() {
this.id = ko.observable();
this.name = ko.observable();
this.abbrev = ko.observable();
}
问题:我现在可以从 CountryViewModel 对象中设置 rowNumber,如下所示:
var cvm = new CountryViewModel();
cvm.rowNumber(index);
在我的情况下,计算的 observable isOdd / isEven 没有得到正确计算。尽管我通过 CountryViewModel 设置 rowNumbers,但似乎 rowNumber 为 0。计算出的可观察函数是否有任何问题——尤其是设置为此的上下文?