更改检测后angular2如何呈现视图?

时间:2016-04-12 18:41:51

标签: angular rendering angular2-changedetection

我阅读了很多关于变更检测的文章,但没有清楚地了解它是如何工作的并呈现视图。就像在反应中我们有虚拟dom和diff算法,它只通过创建dom补丁来渲染已经改变的UI的一部分,所以角度知道如何知道UI的哪个部分需要改变。

更改检测如何决定在视图中呈现/替换哪些更改?

1 个答案:

答案 0 :(得分:3)

每个组件都有一个关联的更改检测器对象,Angular在运行时创建该对象。更改检测器对象跟踪所有模板绑定。当更改检测运行时,默认情况下,脏检查每个更改检测器对象中的每个模板绑定 - 即,它将先前值与当前值进行比较。如果检测到更改,则新值将传播到DOM。因此,如果只有一个更改,则只更新DOM的一部分。如果找到更改,则不会重新呈现整个视图...只有更改的部分会受到影响。

我的答案较长:https://stackoverflow.com/a/34570122/215945