变化检测

变化检测是允许Angular保持我们的视图与我们的模型同步的过程。

变化检测在旧版本的Angular和新版本之间发生了很大的变化。在Angular 1中,框架保留了一长串观察者(每个属性绑定到我们的模板),需要在每次 digest 循环开始时检查。这被称为脏检查,它是唯一可用的变化检测机制。

因为默认情况下Angular 1实现了双向数据绑定,所以变化的流动相当混乱,模型能够改变指令,指令亦能够改变模型,指令能够改变其他指令,模型也能够改变其他模型。

在Angular 2中,信息流是单向的,即使使用ngModel来实现双向数据绑定,这只是流向顶部的单向流语法糖。在这个新版本的框架中,我们的代码负责更新模型。 Angular只负责通过选择的变化检测策略来反映组件和DOM中的那些变化。
下一节:现在有许多前端JavaScript框架可供选择,每个都有自己的权衡。 许多人对Angular 1.x提供的功能感到满意。 Angular 2改进了该功能,使其更快,更可扩展和更现代。 在Angular 1.x中发现价值的组织将在Angular 2中找到更多的价值。