ko.computed 基于另一个 observable 刷新

ko.computed refresh based on another observable

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

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

如何在其他型号中使用 "result" 订阅 "value"?

我只是修复了它,因为在第一行添加了对 observable 的调用(该调用在复杂代码和 switch/case 内)

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