ko.computed刷新基于另一个observable

时间:2016-05-13 18:40:57

标签: knockout.js knockout-3.0

我有2个视图模型,1个有一个可观察对象,第二个有一个ko.computed,它引用另一个模型。 我需要在更新第一个viewmodel observable时刷新我的计算值。

var viewModel1 = {
  value: ko.observable(1)
}
var viewModel2 = {
  result: ko.computed(function() {
    if (viewModel1.value() > 2) {
      return "xxx";
    }
    return "yyy";
  });
}

如何在其他模型中将“结果”订阅为“值”?

1 个答案:

答案 0 :(得分:0)

我刚刚修复了它,因为在第一行添加了对observable的调用(调用是在一个复杂的代码里面,在switch / case里面)

var viewModel2 = {
  result: ko.computed(function() {
    ko.viewModel1();
    ...
    if (viewModel1.value() > 2) {
      return "xxx";
    }
    return "yyy";
  });
}