敲除计算的可观察对象不更新
Knoockout computed observable doesnt update
以下是计算的可观察对象,我正在调用它的写入函数,但写入不会更新计算的值。
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)
;
之后没有更新
您的读取函数当前正在写入 pages
可观察对象,而不是从中读取。要阅读,请调用不带参数的可观察对象:self.pages()
。要写入,请使用一个参数调用:self.pages(value)
.
您的 write
函数应该写入可观察对象,而您的 read
函数应该只读取。
以下是计算的可观察对象,我正在调用它的写入函数,但写入不会更新计算的值。
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)
;
您的读取函数当前正在写入 pages
可观察对象,而不是从中读取。要阅读,请调用不带参数的可观察对象:self.pages()
。要写入,请使用一个参数调用:self.pages(value)
.
您的 write
函数应该写入可观察对象,而您的 read
函数应该只读取。