【问题标题】:angular 2 unidirectional data flow and emitting events to parentangular 2 单向数据流并向父级发送事件
【发布时间】:2017-11-04 11:21:47
【问题描述】:

我已经阅读了 Angular 2 中单向数据流的概念,但我仍然不清楚以下几点:

  1. 如果在组件中检测到更改,更改检测是从应用根组件向下运行到所有组件,还是仅从检测到更改的组件向下运行到其子组件?

  2. 假设某个组件​​向其父组件发出了一个事件,这会导致父组件的其中一个属性发生变化。因此运行一个变化检测周期。最近更改的父属性可能会触发子组件的更改,从而触发另一个更改检测,依此类推。那么基本上我们是不是陷入了类似于 anguar 1.x 遇到的循环变化检测问题的陷阱?

谢谢。

【问题讨论】:

    标签: angular


    【解决方案1】:
    1. 是,但组件通过使用ChangeDetectionStrategy.OnPush(且未更改输入值)或ChangeDetectorRef.detach()选择退出

    2. 在开发模式下,Angular 会抛出异常。 (经过检查后,表达式发生了变化)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-21
      • 2019-02-22
      • 2021-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-18
      相关资源
      最近更新 更多