Я использую следующий вертушку из 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 ...' line. – ssube
Но служба spinner специально в приложении, как правило, одинакова для всех компонентов. Если он изменится, все приложение будет обновлено – FacundoGFlores