Angular docs Je ne suis pas sûr de comprendre
Angulaire documentation des fournisseurs États :
Lorsque le routeur Angular charge un module paresseusement, injecteur. Cet injecteur est un enfant de l'injecteur de l'application Root. Imaginez un arbre d'injecteurs ; il y a un seul injecteur Root et ensuite un injecteur enfant pour chaque module chargé paresseusement. Le routeur ajoute tous les fournisseurs de l'injecteur racine à l'injecteur enfant. Lorsque le routeur crée un composant dans le contexte lazy-loaded, Angular préfère les instances de service créées à partir de ces fournisseurs au service de l'injecteur racine de l'application.
Tout composant créé dans le contexte d'un module chargé paresseusement, tel que par la navigation du routeur, obtient l'instance locale du service, et non l'instance de l'injecteur d'application Root. dans l'injecteur de l'application racine. C continuent à recevoir l'instance créée pour l'application Racine.
Question
Cela signifie-t-il que lorsque j'accède à un fournisseur déclaré globalement dans un module chargé paresseusement, j'accède à sa copie, qui est distincte de l'instance créée dans l'injecteur de racine ?
Supposons que je sois confronté à deux situations :
Situation A
- Module racine
AppModule
- fournit
ProviderX
- déclare
AppComponent
- injecte
ProviderX
- injecte
- fournit
- module chargé paresseusement
SubpageModule
- pas de fournisseurs
- déclare
SubpageComponent
- injecte
ProviderX
- injecte
Situation B
- Module racine
AppModule
- fournit
ProviderX
- déclare
AppComponent
- injecte
ProviderX
- injecte
- fournit
- module chargé paresseusement
SubpageModule
- fournit
ProviderX
- déclare
SubpageComponent
- injecte
ProviderX
- injecte
- fournit
Dans la situation A, l'instance de ProviderX
en SubpageComponent
est la même instance que dans AppComponent
ou un autre ? Je comprends que dans la situation B, ce n'est pas le cas.