Angular5 - 如何检查模块是否已加载

时间:2018-06-11 08:37:05

标签: angular module navigation angular5

在Angular 5中的

我需要知道模块是否已经加载以便不显示微调器。 目前我的代码是:

    constructor(private loaderService: LoaderService, private router: Router, @Inject(DOCUMENT) private document: Document) {
    this.router.events.subscribe(event => {
        console.log(this.router);
        if (event instanceof NavigationStart) {
            this.isSpinnerVisible = true;
        } else if (event instanceof NavigationEnd || event instanceof NavigationCancel || event instanceof NavigationError) {
            this.isSpinnerVisible = false;
        }
    }, () => {
        this.isSpinnerVisible = false;
    });
}

这样,如果模块已经加载,我仍然会显示模块十分之一秒。 有些想法?

1 个答案:

答案 0 :(得分:1)

你可以使用全局变量(是的,它不被建议,但它们存在是有原因的,所以要利用它)

export class MyAppModule {
  constructor() {
    if (!window['loaded_modules']) { window['loaded_modules'] = []; }
    window['loaded_modules'].push(this.constructor.name);
  }
}