Вычисляемая наблюдаемая нокаут не обновляется
Следующее является вычисляемой наблюдаемой, и я вызываю ее функцию записи, но запись не обновляет значение для вычисляемого.
self.pagesToBeDisplayed = ko.computed({
read: function () {
var value = otherFile.PerformWork();
return self.pages(value);
}, write: function (totalCount) {
var value = otherFile.PerformWork(totalCount);
self.pages();
self.pages(value)
},
deferEvaluation: true
});
otherFile.PerformWork()
это функция в другом файле JavaScript, который просто обновляет self.pages()
,
Однако значение для self.pages и self.pagesToBeDisplayed по-прежнему является более старым значением. он не обновляется после otherFile.PerformWork(totalCount)
;
1 ответ
Решение
Ваша функция чтения в данный момент пишет в pages
наблюдаемый вместо чтения из него. Чтобы прочитать, вызовите наблюдаемое без аргументов: self.pages()
, Чтобы написать, позвоните с одним аргументом: self.pages(value)
,
Ваш write
функция должна писать в наблюдаемую, а ваш read
Функция должна только читать.