隐藏加载程序之前加载图像

时间:2019-02-13 01:48:01

标签: angular mdbootstrap

我的角度应用程序有问题。我从服务器中获取数据,包括图像,并希望在所有加载完成后隐藏加载器动画。隐藏加载程序后,瞬间还会加载图像。

这里是隐藏加载程序的代码:

ngAfterViewInit(): void {
   this.preloader.stop();
}

数据由带有解析器的服务获取。

有人可以帮助我吗?

谢谢!

3 个答案:

答案 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)

谢谢,但这不能解决错误。就像在路由上使用解析器获取数据一样。现在,如果渲染了组件,则将显示所有信息,但是过一会儿,图像就会弹出。

最好的问候