【问题标题】:Angular2 lifecycle hook for fully loaded?Angular2生命周期钩子完全加载?
【发布时间】:2017-07-12 21:01:25
【问题描述】:

是否有任何生命周期挂钩,它会告诉您是否已加载所有内容?我有一个网站,它有几个异步工作的组件。所以组件没有同时准备好。为了避免网站出现奇怪的外观,我想放置一种加载横幅。但显然,我需要知道何时可以再次禁用横幅。

感谢您的任何建议或想法!

【问题讨论】:

    标签: javascript angular angular-cli


    【解决方案1】:
    ngAfterViewInit() 
    

    AppComponent

    另见https://angular.io/docs/ts/latest/api/core/index/AfterContentInit-class.html

    这不包括由路由器或非 Angular 库添加的组件。

    【讨论】:

    • 不,没有考虑异步回调的生命周期挂钩。您需要通过将Observables 或Promises 传递给调用者自己链接异步回调,以便他们能够.subscribe(...) 或调用.then(...)
    • 我也是这么想的。这个问题暗示了它。
    • 我有这个用例,我有一个有多个孩子的父母,他们可能也有孩子。现在我想显示一种加载指示器,但是应该如何删除指示器?如果我知道我总是加载所有子组件,我想这会很容易。但根据您正在查看的条目,可能不会使用一个子组件。那么如何确保我的子组件所有都已加载? ngAfterViewInit() 只处理单个组件,不是吗?
    • 子组件在调用ngAfterViewInit() 之前渲染,否则它不会是“在视图初始化之后”,因为子组件视图。如果您有类似 *ngIf*ngFor 的异步加载数据,则在渲染这些项目之前将调用父级 ngAfterViewInit()
    • 在这种情况下,我必须想办法以其他方式达到我想要实现的目标。
    猜你喜欢
    • 2018-03-13
    • 2016-08-26
    • 2017-12-06
    • 2023-04-05
    • 1970-01-01
    • 2015-12-08
    • 2017-01-18
    • 1970-01-01
    • 2020-01-15
    相关资源
    最近更新 更多