Ich bin mit dem folgenden Spinner aus dem ng2-admin Thema:Mit Spinnern als globaler Service
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);
}
}
Also für jede Komponente ich es importieren müssen, und ich will, es zu vermeiden, da viele Komponenten es verwenden werden. Wie kann ich es der gesamten Anwendung zur Verfügung stellen?
Das Importieren von jedem Verbraucher hat einige Vorteile, die hauptsächlich die Abhängigkeit aufrufen. Stellen Sie sich vor, Sie suchen und ersetzen dieses später ohne die Zeile "import {SpinnerService} from ...". – ssube
Aber der Spinner-Service speziell in einer App ist in der Regel für alle Komponenten gleich. Wenn es sich ändert, dann würde die ganze App aktualisiert werden. – FacundoGFlores