【问题标题】:Which Angular 1.5 component binding type is more expensive? '=' or '<'?哪个 Angular 1.5 组件绑定类型更昂贵? '=' 还是'<'?
【发布时间】:2017-06-09 05:16:48
【问题描述】:

如果我有一个组件并且我已经绑定了一些变量 - 忽略单向和双向流的用例 - 哪个计算成本更高? =&lt;?

我最初认为 &lt; 会更便宜,因为我们不需要向上传播更改,但考虑到肯定需要的副本 = 在大多数情况下都是有益的,因为它只会传递引用?

还是只是与$onChanges的需求有关?

【问题讨论】:

  • '=' 更便宜,'
  • 如果你知道自己在做什么,你会说使用'='吗?
  • “考虑需要的副本” 哪个副本?
  • 当使用

标签: javascript angularjs web-component angular-components


【解决方案1】:

在我看来,存储比处理能力更便宜,所以对象的副本比另一个观察对象属性的成本更低,每个摘要周期。

【讨论】:

  • 但它会是另一块手表吗?不是每个案例都会在不同的范围内观看参考吗? (我认为更改深层属性仍会反映在父级中,但只有在 = 中才会被检测到)
【解决方案2】:
  1. '=' 传递链接,当然这是最便宜和最简单的方式。 (在即 Java 中,您总是传递链接。)

  2. 问题是你不能使这个对象或它的一些属性不可修改,你不能创建接口或smth。想象层次结构:&lt;component-a object="object"&gt;&lt;component-b object="object"&gt;&lt;component-c object="object"&gt;

    现在你想了解 wtf 正在这里——谁在设置或使用什么属性——而你根本做不到。

  3. 我现在的感受: - 对于简单的对象使用'

【讨论】:

  • 有趣。仅供参考,您可以使用 const 在 es6 中实现不可修改,甚至可以使用 typescript 接口!
  • =&lt; 之间的唯一区别是&lt; 不会向上传播更改。
  • 错误:plnkr.co/edit/vsFh3icprGZlxrJomfmS?p=preview 正如我所说的 onChanges 不会触发 '=' 绑定
猜你喜欢
  • 1970-01-01
  • 2010-10-28
  • 2020-07-25
  • 2010-10-12
  • 2016-09-10
  • 1970-01-01
  • 2015-10-11
  • 2016-10-28
  • 1970-01-01
相关资源
最近更新 更多