performance - 为什么 Angular 2 比 Angular 1 有更好的性能?

标签 performance angular

优秀的开发人员,我需要一点帮助来澄清为什么 Angular 2 比 Angular 1 性能更好?

在网上搜索后,我从 Er Shahbaz Sharif in a Quora discussion 得到了这个相关解释:

Angular 2 is using Hierarchical Dependency Injection system which is major performance booster. 
Angular 2 implements unidirectional tree based change detection which again increases performance . 
As per ng-conf meetup, angular 2 is 5 times faster as compared to angular 1

同一讨论中的其他解释似乎也围绕此展开。

有人可以为我解释为什么这 2 个因素(以及其他因素,如果有的话)有助于提高 Angular 2 的性能吗?非常感谢..

最佳答案

Angular 2 - 不进行深度对象比较。如果将项目添加到数组或从数组中删除,更改检测将不会检测到它。对象属性也一样,只要它们不直接从 View 绑定(bind)即可。

  • 双向绑定(bind)分为仅将检测到的更改从根传播到叶。

  • 从子级到父级的更改仅通过显式事件(输出)传播,仅传播到直接父级。

  • ChangeDetectionStrategy.OnPush 在没有输入值发生变化时不会对组件运行变化检测。这会修剪根本不运行更改检测的组件子树。

  • 代码(尤其是变更检测代码)的编写方式可以让 JS 虚拟机尽可能优化。

https://www.quora.com/What-is-the-difference-between-angularjs-and-angular2

关于performance - 为什么 Angular 2 比 Angular 1 有更好的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38780322/

相关文章:

html - Angular:在同一模板中重置索引值

javascript - 更新到 angular2 beta.1 后,路由器不再工作。它在 beta.0 中做到了

Angular 单元测试选择 onChange 监视空值

css - Angular Material 和 Bootstrap? BS CSS 中断 NG Material 的样式?

javascript - Angular 中向 Node.js 的发布请求未发送

performance - 缓慢的 s3 url 生成回形针

python - 我应该在 Python 的循环之外分配一个范围吗?

java - 最大独立 JVM 进程数

java - java中获取像素颜色

MySQL 单引号效率