我的角度应用程序有问题。我从服务器中获取数据,包括图像,并希望在所有加载完成后隐藏加载器动画。隐藏加载程序后,瞬间还会加载图像。
这里是隐藏加载程序的代码:
ngAfterViewInit(): void {
this.preloader.stop();
}
数据由带有解析器的服务获取。
有人可以帮助我吗?
谢谢!
答案 0 :(得分:1)
使用服务从服务器获取数据时,您的服务方法很可能返回Observable。您需要订阅该可观察对象。
订阅是实际上执行 可观察的功能。它需要三个回调参数:
订阅(成功,失败,完成);
例如:
this.service.getDataFromServer().subscribe(
function(response) { // executes when success
console.log("Success" + response);
},
function(error) { // executed when failure
console.log("Error" + error);
},
function() { // executes when completed
console.log("Completed");
this.preloader.stop();
}
);
答案 1 :(得分:0)
我认为您可以做的是:
您应该在Angular中对您的后端API调用下标
this.yourAPICallService.subscribe((res)=>{
//You should get all data from the server here
},
(error: any) => {
//catch any error
console.info(error);
},
()=>{
//codes should be executed after the completion of the API call
this.preloader.stop();
}
);
答案 2 :(得分:0)
谢谢,但这不能解决错误。就像在路由上使用解析器获取数据一样。现在,如果渲染了组件,则将显示所有信息,但是过一会儿,图像就会弹出。
最好的问候