我需要知道模块是否已经加载以便不显示微调器。 目前我的代码是:
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;
});
}
这样,如果模块已经加载,我仍然会显示模块十分之一秒。 有些想法?
答案 0 :(得分:1)
你可以使用全局变量(是的,它不被建议,但它们存在是有原因的,所以要利用它)
export class MyAppModule {
constructor() {
if (!window['loaded_modules']) { window['loaded_modules'] = []; }
window['loaded_modules'].push(this.constructor.name);
}
}