/ / angular6 - service @Injectable supplyIn - angulaire

angular6 - service @Injectable supplyIn - angulaire

Je suis assez confus quant à l’offre d’arbres. J'ai un dossier test qui contiennent test.module.ts test.component.ts test.service.ts La question est que je devrais utiliser: 1) Au service:

@Injectable({ providedIn: TestModule, })

2) ou dans le module:

providers: [TestService]

et pourquoi la première solution ou la seconde? Merci d'avance.

Réponses:

0 pour la réponse № 1

pour angular6 vous devez utiliser 1 (providedIn root) pour créer un service singleton injectable pour toute l'application ou fournirIn X pour produire l'instance de ce service uniquement lorsque X est chargé.

2 pourrait être utile pour remplacer l’injection par une nouvelle implémentation (test?)

Angular 6 introduit supplyIn parce que tous les services étaient précédemment globalement désignés en tant que fournisseurs du bundle racine et qu’ils étaient instanciés au début, même s’ils n’étaient utilisés par aucun module.


-1 pour la réponse № 2

La différence est .. 1) Pour chaque instance de module, vous aurez une instance de service. 2) Vous aurez la même instance pour chaque composant.