【问题标题】:Knockout's purecomputed equivalent in Angular?Knockout 在 Angular 中的纯计算等价物?
【发布时间】:2016-05-04 05:00:43
【问题描述】:

根据我对this article 的理解,(如果我错了,请纠正我)Angular 使用 $watch 的双向绑定模型等效于 Knockout 的计算 observables。

根据 KnockoutJS 文档,pure computed observables 可以防止内存泄漏并减少 CPU 开销。 AngularJS 有等价物吗?

我对 Knockout 或 Angular 都不是很精通,但都非常简短地使用过。现在,假设我有一个使用 KnockbackJS 的现有应用程序,我想将它转移到 AngularJS。现在我已经涵盖了路由和模板等内容,但是对于所有使用纯计算的实例,我该怎么办?

【问题讨论】:

    标签: javascript angularjs knockout.js


    【解决方案1】:

    AngularJS 1.x 和 KnockoutJS 很相似,但又非常不同。关于您的问题,它们实际上大相径庭:Angular 使用摘要循环进行更改检测,而 KnockoutJS 在后台使用基于订阅的方法。

    是的,Angular 中的 watches 看起来很像来自 KnockoutJS 的 computeds,因为它们允许您进行手动“订阅”,在每个摘要周期中检查该订阅。

    这也是比较苹果和橙子开始失去效力的地方。 computedpureComputed 之间的区别是 KnockoutJS 的技术细节。 AFAIK 在 AngularJS 中没有直接的等价物,或者你可能会争辩说手表 的等价物。

    你很可能有一个 XY 问题,你知道如何在 KnockoutJS 中解决 X:使用计算和纯计算。不要尝试将 Y 转换为 AngularJS,而是尝试将 X 转换为您的新情况,并找到一种惯用的方法来使用 AngularJS 来解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-19
      • 2013-09-16
      • 1970-01-01
      • 2016-07-26
      • 1970-01-01
      • 2013-03-02
      相关资源
      最近更新 更多