【发布时间】:2016-11-02 18:58:13
【问题描述】:
我正在使用来自ng2-admin 主题的以下微调器:
import {Injectable} from '@angular/core';
@Injectable()
export class BaThemeSpinner {
private _selector:string = 'preloader';
private _element:HTMLElement;
constructor() {
this._element = document.getElementById(this._selector);
}
public show():void {
this._element.style['display'] = 'block';
}
public hide(delay:number = 0):void {
setTimeout(() => {
this._element.style['display'] = 'none';
}, delay);
}
}
所以对于每个组件我都必须导入它,并且我想避免它,因为很多组件都会使用它。如何使其可用于整个应用程序?
【问题讨论】:
-
从每个消费者那里导入有一些好处,主要是调出依赖。想象一下在没有
import {SpinnerService} from ...行的情况下搜索和替换它。 -
但是应用程序中的微调器服务通常对于所有组件都是相同的。如果它发生变化,那么整个应用程序将被更新
标签: angular typescript spinner service-locator