我的所有组件何时加载?



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

我的想法是根父级显示一个加载指示器,一旦所有子级都初始化,加载指示器就会消失。但是我怎样才能确保所有的孩子都加载了呢?

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

根据您对我问题的评论,您可以将加载内容添加到一个div 中,并在另一个div 中添加加载器。您可以根据状态隐藏/显示。

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

并且,加载的变量您可以在类中分配它并根据状态进行更改。

  • 如果这是有孩子视图的东西,你可以考虑ngAfterViewInit()
  • 如果您从 api 获取数据并显示它,则可以相应地在加载数据时将加载的变量分配为 true。

最初,将加载的变量分配为 false。

此外,考虑到您在所有组件中添加加载器的问题,您可以在根组件中添加加载器,并可以通过服务更改状态(真/假)。然后,您必须通过组件更改状态。 并且,还订阅根组件中的变量值,无论是显示加载程序还是内容。 希望这部分可能对它有所帮助 - 通过服务进行组件交互

最新更新