【问题标题】:ko.computed refresh based on another observableko.computed 基于另一个 observable 刷新
【发布时间】:2016-05-14 02:54:16
【问题描述】:

我有 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";
  });
}

如何在其他模型中使用“结果”订阅“价值”?

【问题讨论】:

  • 如果你的computed中有一个observable,当它里面的observable被更新时,computed会自动更新自己。
  • 感谢您的回答。我不知道,因为这个评论我可以修复它。

标签: knockout.js knockout-3.0


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多