Maison  >  Article  >  interface Web  >  Comment injecter des services dans d'autres services dans Angular 2 ?

Comment injecter des services dans d'autres services dans Angular 2 ?

DDD
DDDoriginal
2024-11-26 22:31:13143parcourir

How to Inject Services into Other Services in Angular 2?

Injection de services dans Angular 2 : un guide complet

L'injection de services dans les composants est une tâche fondamentale dans Angular 2. Cependant, la question se pose : comment injecter des services dans d'autres services en dehors des composants ? Explorons le moyen efficace d'y parvenir.

Pour injecter des services dans des services, nous devons employer le décorateur @Injectable sur chaque service destiné à l'injection. Ce décorateur permet la création ou la récupération d'instances de type correspondantes dans l'injecteur pour la chaîne d'exécution actuelle.

L'application Angular 2 utilise une arborescence hiérarchique d'injecteurs, où chaque injecteur est lié à un composant spécifique. Lorsqu'un décorateur @Injectable est appliqué à une classe, Angular 2 tente de créer ou de récupérer des instances de la classe dans l'arborescence des injecteurs.

Considérez la structure d'application suivante :

  • AppComponent : Le composant racine du application
  • ChildComponent : Un composant imbriqué dans AppComponent qui interagit avec Service1
  • Service1 : Un service utilisé par ChildComponent, et injecte Service2
  • Service2 : Un service injecté dans Service1

Dans ce scénario, lorsque ChildComponent est initialisé, Angular 2 localise Service1 dans l'injecteur ChildComponent, puis dans l'injecteur AppComponent, et ensuite dans l'injecteur d'application.

De même, lorsque Service1 tente d'injecter Service2, le même processus de recherche d'injecteur se produit. Ainsi, nous pouvons injecter des services à différents niveaux de l'application en fonction de la portée de partage souhaitée.

Si un fournisseur est défini au niveau de l'application, l'instance créée est partagée dans toute l'application, y compris tous les composants et services. En définissant un fournisseur au niveau du composant, l'instance est limitée au composant lui-même, à ses sous-composants et aux services impliqués dans la chaîne de dépendances.

Ce mécanisme d'injection hiérarchique offre une flexibilité dans l'organisation et la gestion des dépendances. Pour une compréhension plus complète, reportez-vous à la documentation Angular 2 sur l'injection de dépendances hiérarchiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn