首页 文章

什么时候加载我的组件?

提问于
浏览
2

我有一个组件,有几个孩子,他们也可能有一些孩子 . 我无法预测,如果所有孩子都将被加载,因为它取决于你所看到的内容 . 我想要实现的是一个加载指示器,在内容加载时显示 . 但我不想为每个组件显示加载指示器,因为我最终会有10-15个加载指示器 .

我的想法是,根父,显示加载指示符,一旦初始化所有子项,加载指示符就会消失 . 但是我怎样才能确保所有孩子都装满了?

2 回答

  • 3

    AppComponent 中调用 ngAfterViewInit() 时会加载子项

  • 1

    根据您对我的问题的评论,您可以在另一个div中的div和loader中添加加载内容 . 你可以根据状态隐藏/显示 .

    <div *ngIf="loaded"> Your content</div>
    <div *ngIf="!loaded"> Loader </div>
    

    并且, loaded 变量可以在类中分配,并根据状态进行更改 .

    • 如果这是具有子视图的东西你可以考虑 ngAfterViewInit()

    • 如果您从api获取数据并显示数据,则可以相应地在加载数据时将 loaded 变量指定为true

    最初,将 loaded 变量指定为false .

    另外,考虑到在所有组件中添加加载器的问题,您可以在根组件中添加加载器,并可以通过服务更改状态(true / false) . 然后,您必须通过组件更改状态 . 并且,还从根组件订阅变量的值是否显示加载器或内容 . 希望这部分可能会有所帮助 - Component Interaction through a service

相关问题