5 つのビュー モデルのそれぞれに、rowNumber プロパティがあります。また、rowNumber プロパティに基づいて計算されたオブザーバブルもあります。コードは次のとおりです。
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);
私の場合、計算されたオブザーバブル isOdd / isEven が正しく計算されていません。CountryViewModel で rowNumbers を設定していますが、rowNumbers は 0 のようです。計算されたオブザーバブル関数に問題はありますか?特にコンテキストがこれに設定されていますか?