如何在API调用中显示和隐藏mat微调器

时间:2018-05-19 11:50:55

标签: angular subscribe angular-material-5

我试图在API方法调用上显示mat spinner。下面是我订阅获取数据的API调用代码,通常只需要2分钟的工作,但这次没有工作,我知道这是因为订阅方法发生的,所以任何简单的方法都可以实现吗?

 this.loading = true;

 this.ticketModelService.farmerList
  .subscribe(value => {
    if (value) {
      this.farmerList = value.data;
      this.paginationNumbers = value.recordsFiltered
    }
  })

  this.loading = false;

编辑: 空屏2毫秒。 enter image description here

1 个答案:

答案 0 :(得分:3)

我认为你的问题是你的微调器出现并突然消失。所以这里你的加载变量不会等待API处理,它将在ms内消失。所以你应该在你的API回调中隐藏你的加载器。因此,在您处理API之前,加载程序将保留在那里。收到回复后,即使出现错误,也可以隐藏您的加载程序。

 this.loading = true;

 this.ticketModelService.farmerList
  .subscribe(value => {
     this.loading = false;
    if (value) {
      this.farmerList = value.data;
      this.paginationNumbers = value.recordsFiltered
    }
  })

按上述方式更新您的代码。