【发布时间】:2019-05-15 16:49:08
【问题描述】:
我实现了一个加载动画,它显示了一个微调器对 Angular 的路由器事件(NavigationStart、NavigationEnd)做出反应,效果很好。但是最初调用的第一个组件可能有一个从 API 获取数据的解析器,有时需要超过 2 秒的时间来加载。但我没有得到任何路由器事件,所以加载动画没有显示。此外,当组件被解析时,路由器上没有任何事件。任何想法如何为第一个调用的组件实现加载指示器?
检查此流程:
AppComponent 被引导
加载 AppComponent 后 index.html 中的加载动画消失了(很好)
路由决定加载哪个组件。
该组件的解析器开始从 API 获取数据。
5.没有显示加载动画,因为此时路由器没有发出任何事件。
解析器已完成,组件已加载。
通过路由切换组件。
8.路由器发出事件(显示加载动画)
注意:当然,我的 index.html 中还有一个加载动画,但这不是我想要的......
【问题讨论】:
-
您希望我们调试我们看不到的代码吗?
-
不是代码示例的问题,比较大方。谢谢!
-
好的...然后使用生命周期挂钩。在组件的
OnInit中启动动画并在 API 请求的回调中结束。 -
您曾经使用过解析器吗?在组件初始化之前解析数据..
标签: angular angular2-routing angular-routing angular-router angular-resolver