gpt4 book ai didi

Angular2+ 变化检测 : markForCheck or detectChanges?

转载 作者:太空狗 更新时间:2023-10-29 19:33:45 30 4
gpt4 key购买 nike

说, - 有一个父组件 A 和一个子组件 B。

  • 在组件B上设置OnPush。

  • 有一刻,B 的一个不是输入绑定(bind)属性的属性发生变化,我想检测该变化并相应地更新 View 。

  • 根据我的理解,应该有2个选项。

    1. 在B上实现ngDoCheck钩子(Hook)并调用markForCheck方法,因为我们都知道属性的变化触发了A组件的变化检测流程,在此过程中,B中的ngDoCheck会被调用并且 markForCheck 将标记到 A(在本例中为根)的路径,以便尽管使用 OnPush 策略也可以触发其变化检测。

    2. 在属性更改时刻之后立即调用 detectChanges,这会自行解释。

在我看来,两者都应该有效,但我想知道哪种方法更合适。

最佳答案

出于某种原因,选项 2 不起作用。

选项 1 (ma​​rkForCheck) 是解决此问题的方法。我正在对此进行一些研究,并随时向您发布调查结果!

谢谢。

关于Angular2+ 变化检测 : markForCheck or detectChanges?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47724616/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com