我正在使用角度2+的ng2-admin主题。我正在使用API来获取数据。我面临的问题是加载器隐藏但数据仍未加载,因此页面首先显示页面的骨架然后加载数据。看起来很奇怪。
我希望加载器显示,直到在页面上呈现所有数据。
首先,我认为它是API响应的问题,但我看到API已经完成,它只是浏览器渲染数据需要时间。 对于一个想法,你可以在这个例子中看到
this.loader = ture
ApiCall.subscribe(response =>{
logic();
this.loader = false;
})
Loader获取隐藏但数据仍在呈现。
感谢您的期待。
答案 0 :(得分:0)
据我所知,这里有两个解决方案。
答案 1 :(得分:0)
你可以尝试这样:
this.loader = true;
ApiCall.subscribe(response =>{
logic();
setTimeout(() => { this.loader = false; })
})
因此,它只会在下一个刻度(更改检测周期)中隐藏加载程序;
答案 2 :(得分:0)
在您的主要app.component中尝试
this.router.events.subscribe((event) => {
if ((event) instanceof RouteConfigLoadStart) {
// loader =true ;
} else if ((event) instanceof RouteConfigLoadEnd) {
// loader=false;
}
});
最好为loader编写一个通用服务,并像这样使用它,
this.loaderService.show();
this.loaderService.hide();