为什么markForCheck()仅适用于一个分支?

时间:2017-07-30 19:29:55

标签: angular angular-di

很明显,我们需要使用 markForCheck()主要使用OnPush策略来标记组件以进行CD检查,但是

我正在试图找出为什么只检查一个分支:

enter image description here

为什么可以为整个应用程序运行CD或仅运行特定组件,不是吗?

1 个答案:

答案 0 :(得分:2)

感谢@yurzui的评论@Toxicable @Maximus我明白了:

为什么不在每个组件上?

这就是关于onPush策略优化的想法:只有在必要的情况下才能运行它。

为什么是整个分支,但不仅仅是一个组件?

因为它是如何制作CD的 - 它总是来自根组件。因此,如果要在特定组件上运行CD,则需要创建从根到此特定组件的所有路径