首页 > 解决方案 > 如何在 API 调用中显示和隐藏垫子微调器

问题描述

我试图在 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 毫秒。 在此处输入图像描述

标签: angularsubscribeangular-material-5

解决方案


我认为您的问题是您的微调器出现并突然消失。所以在这里你的加载变量不会等待 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
    }
  })

如上所述更新您的代码。


推荐阅读