我正在阅读angular6 docs->组件交互部分,特别是“父母调用@ViewChild()”。 它说-在Angular显示父视图之后,计时器组件才可用。因此最初显示为0秒。但是,当我尝试在ngAfterViewInit之外使用它时,它工作正常。见下文:
<button (click)="onButtonClick($event)">Click me!</button>
他们还提到要在同一周期内更新父级视图之前要等待一个滴答,以避免编译器错误,但是我也能够做到这一点。见下文:
seconds() { return this.timerComponent.seconds; }
ngAfterViewInit() {
// 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);
}
有人可以解释发生了什么事吗?
PS链接:https://angular.io/guide/component-interaction#parent-calls-an-viewchild https://stackblitz.com/angular/pxxnmnlgadmk?file=src%2Fapp%2Fcountdown-parent.component.ts