我正在创建 Angular 13 应用程序。我想使用 @ViewChild 从 ParentComponent 调用 ChildComponent 的 show() 方法,但是我遇到了错误。旧的问题和答案对于这种情况不起作用。
Parent:
Parent:
<app-child #child></app-child>
@ViewChild('child') child: ChildComponent;
showChild() {
this.child.show();
}
子元素:
show(){
console.log('show');
}
错误:
属性“child”没有初始化程序,且在构造函数中未明确赋值。
解决方案1:
父级组件:
@ViewChild('child') child!: ChildComponent;
错误:
类型错误:无法读取未定义的属性(读取“show”)
解决方案2:
父级:
@ViewChild('child') child: ChildComponent = new ChildComponent;
没有错误 运行良好,但我对其是否正确存有疑虑?