J'utilise la fileuse suivante du thème ng2-admin:En utilisant un tourbillonnement service global
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);
}
}
Donc, pour chaque composant, je dois l'importer, et je veux éviter, parce que de nombreux composants vont l'utiliser. Comment puis-je le rendre disponible pour l'ensemble de l'application?
L'importation de chaque consommateur a quelques avantages, appelant principalement la dépendance. Imaginez que vous cherchiez et que vous le remplaciez plus tard sans ligne 'import {SpinnerService} from ...'. – ssube
Mais le service spinner spécifiquement dans une application est généralement le même pour tous les composants. Si cela change alors l'application entière serait mise à jour – FacundoGFlores