什么时候加载我的组件?

时间:2017-03-15 10:59:41

标签: angular angular-cli

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

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

2 个答案:

答案 0 :(得分:3)

ngAfterViewInit()

中调用AppComponent时,会加载子项

答案 1 :(得分:1)

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

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

并且已加载变量可以在类中指定并根据状态进行更改。

  • 如果这是具有子视图的内容,您可以考虑ngAfterViewInit()
  • 如果您从api获取数据并显示数据,则可以在加载数据时将已加载变量指定为true

最初,将已加载的变量指定为false。

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