我有一个父组件 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);