可以使用ViewChild
和AfterViewInit
钩子来等待子组件渲染完成。
例如,在父组件中,我们可以先在HTML模板中挂载子组件:
然后在父组件中定义一个ViewChild
属性来获得对子组件引用的访问:
import { Component, ViewChild, AfterViewInit } from '@angular/core';
import { ChildComponent } from './child.component';
@Component({
selector: 'app-parent',
template: ' '
})
export class ParentComponent implements AfterViewInit {
@ViewChild(ChildComponent) child!: ChildComponent;
ngAfterViewInit() {
// 在这里可以访问子组件并运行代码
this.child.doSomething();
}
}
当要等待子组件完成渲染并可访问时,AfterViewInit
钩子就会被调用。在此处,我们可以完成所需的任何逻辑。