应该如何在子组件中使用/观察父级
@Output()
事件发射器?
例如在这个演示中子组件使用
@Output onGreetingChange
,如下所示:
<app-greeting [greeting]="onGreetingChange | async"></app-greeting>
如果
onGreetingChange
在 AfterViewInit
生命周期钩子中发出,这将起作用。
ngAfterViewInit() {
this.onGreetingChange.emit('Hola');
}
但是这会产生
ExpressionChangedAfterItHasBeenCheckedError
错误。
有没有办法让它工作而不产生错误?
我尝试在
constructor
和 OnInit
中发射。想法?
您可以使用
change detection
手动触发
detectChanges()
ngAfterViewInit() {
this.onGreetingChange.emit('Hola');
this.cdr.detectChanges();
}