角度为5的“tick”是什么意思

时间:2018-02-26 08:16:06

标签: javascript angular

我正在学习Angular 5,同时经历了我遇到这个部分的组件交互部分

// Redefine `seconds()` to get from the `CountdownTimerComponent.seconds` ...
// but wait a tick first to avoid one-time devMode
// unidirectional-data-flow-violation error
setTimeout(() => this.seconds = () => this.timerComponent.seconds, 0);

我浏览了文档并在网上试图发现没有明确解释这个主题。 有人可以解释一下

  1. 这是什么?
  2. 为什么我们需要它?
  3. 什么是单向数据流违规错误?
  4. settimeout如何阻止它?
  5. 任何其他阻止它的方法??

1 个答案:

答案 0 :(得分:0)

2019 Angular指南(angular.io)中有完整的解释:

然后Angular调用ngAfterViewInit生命周期挂钩,此时更新父视图的倒数秒显示为时已晚。 Angular的单向数据流规则阻止在同一周期中更新父视图。该应用程序必须等待一转才能显示秒数。 使用setTimeout()等待一滴答,然后修改seconds()方法,以便它从计时器组件中获取将来的值。