Computed Knockout中未更新可观察值

时间:2017-07-10 15:02:28

标签: knockout.js

我已经声明了这样的视图模型

var EditViewModel = function () {
  var Test= ko.observable(0);
  var options= ko.computed(function() {
      Test(1);
      return '';
  });

   return {
      // properties
      Test: Test,
      options: options
   };
}

我正在尝试将值分配给计算函数中的Test,但它没有更新,仍然值为0。 请帮助更新计算中的Test值。 感谢

1 个答案:

答案 0 :(得分:1)

您的模型应如下所示:

var EditViewModel = function (data) {
  var self = this;

  self.Test = ko.observable(0);

  self.options = ko.computed(function() {
      var test = self.Test();
      return test;
  });
}

你真的想在计算中更新Test吗? 也许你会想要:

  self.options = ko.computed(function() {
      var test = self.Test();
      return test + 1;
  });

如果您想更新TestmodelVariable.Test(1);,这会自动更新options