谁能帮助理解这个 Knockout Observable?

Anybody who can help understand this Knockout Observable?

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

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

它看起来返回一个布尔值并将其存储在 this.isConfirmationCar 中。 这要么 true/false 取决于定义为 -

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

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

介绍中涵盖了ko.computed功能,值得一看!

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

计算的可观测值非常有用。请注意,就如何定义它们而言,它们有多种 "options" 和一些有趣的 siblings,例如 pureComputed observables.

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

希望对您有所帮助。