1

我有一个父组件 A 和子组件 b 和服务 c 用于加载加载弹出服务的成功和失败。

在 B 子组件中有一个称为 newchanges 的按钮,b 组件发出值并在组件中调用函数,并且在服务调用中有一个服务调用。

在不断单击子组件 b newchanges 按钮时,我正在递归调用 error.application.tick 。

如果我不使用 application.tick ,则加载对话框未关闭,因此我已在服务中的应用程序引用中使用。它是所有模块的全球服务。

任何人都可以帮助解决:

这是服务调用成功和关闭加载器失败时使用的加载器服务。

exitLoader = ():void => {

        setTimeout(() => {
          console.log('tick1');
          this.matLoader.close();

          this.applicationRef.tick();
        }, 50);

}

我需要关闭加载程序,该加载程序是在另一个服务成功和失败中使用的服务,当我不使用应用程序引用时,它没有关闭,所以我在此之后使用了这个,我点击不断调用服务得到一个提到的错误。

我尝试了另一个使用 zone 的选项,加载程序未关闭:

 // setTimeout(() => {
      //   this.zone.runOutsideAngular(() => {
      //     this.matLoader.close();
      //   });
      // }, 100);
4

0 回答 0