【问题标题】:Knoockout computed observable doesnt update淘汰赛计算的 observable 不更新
【发布时间】:2019-06-02 06:54:24
【问题描述】:

以下是计算的 observable,我正在调用它的 write 函数,但 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) 之后没有更新;

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-17
      • 2016-07-21
      • 2020-05-30
      相关资源
      最近更新 更多