淘汰赛计算的可观察值不会更新

时间:2019-01-07 15:30:49

标签: javascript knockout.js computed-observable modular-design

以下是计算所得的可观察值,我正在调用其write函数,但写入操作不会更新计算所得的值。

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 个答案:

答案 0 :(得分:0)

您的读取功能当前正在写入pages可观察对象,而不是从中读取。要阅读,请调用不带参数的可观察对象:self.pages()。要编写,请使用一个参数调用:self.pages(value)

您的write函数应该正在写入可观察对象,而您的read函数应该仅正在读取。