2017-02-20 98 views
0

我正在通过Rangle.io的角度2培训手册。我想了解变化的检测是如何工作的角度2.在this chapter,作者说角2:“信息流是单向的”什么意思?

在折角,信息的流动是单向的,使用 ngModel来实现双向数据绑定,这是即使只有单向流动的顶部糖的语法 。在这个新版本的 框架中,我们的代码负责更新模型。

我想知道在角度2参考中信息的单向流动的含义。是否因为树状结构的组件?或者是别的。任何人都可以帮助我吗?

回答

2

这意味着更改检测仅传播从父项到子项的所发现的模型更改。

其他方向的所有变化都是由事件完成的。

这样的变化检测永远不会有处理周期而父母的更新一个孩子,这个更新导致的更新父,这会导致孩子更新中...

即使有双向绑定的语法,它实际上并不是双向绑定,而只是语法绑定和事件绑定的语法糖:

[ngModel]="prop" (ngModelChange)="prop = $event" 
+0

感谢您的回答。你可以请分享任何解释角度2变化检测简单的链接。我的意思是所有的链接都谈论不可变的,可观察的,不知道为什么当我们谈论角度2中的变化检测时,人们把它们拉进对话。 –

+1

因为'Observable'就像事件,它们主动通知订阅者有关更改(推送)。不可变对象在这个数据流模型中工作得更好,因为更新先前传递的对象可能不会被接收者通知。对于不可变的对象,您需要使用可观测值等方法来通知接收者有关更改。否则,我不会期望有关更改检测的简单解释更改检测并不简单。 –

+0

明白了。谢谢。 –