检查嵌套组件是否已加载

时间:2019-01-11 11:09:30

标签: angular

我想在组件及其嵌套组件完全加载到DOM之后执行功能。

我已经尝试过角度的生命周期钩子和javascript DomContentLoaded函数。但是它们都不在嵌套组件的工作。

    import { Component, OnInit } from '@angular/core';

@Component({
    selector: 'app-my',
    templateUrl: `
<div>
    <app-nested-component></app-nested-component>
</div>`,
    styleUrls: ['./my.component.css']
})
export class MyComponent implements OnInit {

    constructor() { }

    ngOnInit() {

        document.addEventListener("DOMContentLoaded", function (event) {
            // not working
        });

    }

}

所以,我的目标是如果所有组件都完全加载,则执行功能。

我使用带有片段的route,并想滚动到锚点。但是滚动到锚点将在嵌套组件完全呈现之前。

1 个答案:

答案 0 :(得分:0)

只需调用您在组件的ngAfterViewChecked生命周期挂钩中发挥作用即可。

  

ngAfterViewChecked()-   Angular检查组件的视图和子视图/指令所在的视图后响应。

     

在ngAfterViewInit及其之后的每个ngAfterContentChecked()之后调用。