【问题标题】:Anybody who can help understand this Knockout Observable?谁能帮助理解这个 Knockout Observable?
【发布时间】:2019-01-22 06:12:41
【问题描述】:

我是一个完全的软件开发初学者,被介绍到一个我很难理解和知道从哪里开始的项目

this.isConfirmationCar = ko.computed(() => {
  if (this.selectedTemplate() && this.selectedTemplate().Id ===
     <number>Enums.PolicyEmailTemplates.ConfirmationOfCoverCar) {
       return true;
  } else {
       return false;
  }
});

【问题讨论】:

    标签: mvvm knockout.js observable


    【解决方案1】:

    它看起来返回一个布尔值并将其存储在this.isConfirmationCar 中。 这取决于定义为的参数是真/假 -

    { if (this.selectedTemplate() && this.selectedTemplate().Id === Enums.PolicyEmailTemplates.ConfirmationOfCoverCar) { return true; } else { return false; }
    

    仅供参考 - Knockoutjs 有一个很棒的网站,里面有很好的教程http://learn.knockoutjs.com/#/?tutorial=intro

    介绍了值得一看的 ko.computed 函数!

    【讨论】:

      【解决方案2】:

      你所拥有的是一个computed observable,它只不过是一个在其主体tracks 内部使用的任何其他可观察到的函数。它不仅会跟踪它,而且会在那些被跟踪的可观察值发生变异时一次又一次地执行自己。

      计算的 observables 非常有用。请注意,它们在如何定义它们方面有各种“选项”以及一些有趣的siblings,例如pureComputed observables

      在此示例中,计算出的 isConfirmationCar 用于跟踪其他 observables selectedTemplateselectedTemplate 的值。当任何通过刷新其值计算的更改时,这就是为什么在此上下文中使用它来跟踪isConfirmationCar

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-10-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多