我正在学习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);
我浏览了文档并在网上试图发现没有明确解释这个主题。 有人可以解释一下
答案 0 :(得分:0)
2019 Angular指南(angular.io)中有完整的解释:
然后Angular调用ngAfterViewInit生命周期挂钩,此时更新父视图的倒数秒显示为时已晚。 Angular的单向数据流规则阻止在同一周期中更新父视图。该应用程序必须等待一转才能显示秒数。 使用setTimeout()等待一滴答,然后修改seconds()方法,以便它从计时器组件中获取将来的值。