Maison  >  Article  >  interface Web  >  Comment injecter des services en dehors des composants dans Angular 2 (bêta) ?

Comment injecter des services en dehors des composants dans Angular 2 (bêta) ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-17 10:26:04924parcourir

How Can You Inject Services Outside of Components in Angular 2 (Beta)?

Injection de service en dehors des composants dans Angular 2 (bêta)

Comprendre l'injection au-delà des composants

Dans Angular 2 (bêta) ), l'injection de dépendances permet aux développeurs de transmettre des services de manière transparente au sein des composants. Cependant, il est souvent nécessaire d'injecter des services en dehors des classes de composants.

Injecter des services via @Injectable Decorator

La clé pour injecter des services en dehors des composants réside dans l'utilisation du @Décorateur injectable sur la classe de service. Ce décorateur signifie que les paramètres constructeur de la classe peuvent être injectés.

Système d'injection hiérarchique

Angular 2 utilise un système d'injection hiérarchique qui correspond à l'arborescence des composants. Les injecteurs de services ne sont pas explicitement définis ; au lieu de cela, ils sont implicitement associés à des composants. La liaison hiérarchique garantit que les enfants injecteurs ont accès aux prestataires définis dans les injecteurs parents.

Exemple d'application et relations entre les injecteurs

Considérez l'exemple d'application suivant avec un AppComponent (composant principal) , ChildComponent, Service1 (utilisé par ChildComponent) et Service2 (utilisé par Service1) :

<br>Application</p>
<pre class="brush:php;toolbar:false"> |

AppComponent

 |

ChildComponent
getData() --- Service1 --- Service2

Cette application dispose de trois injecteurs : application, AppComponent et ChildComponent. L'injection Service1 pour ChildComponent et l'injection Service2 pour Service1 impliquent la hiérarchie d'injecteur suivante :

  1. Injecteur ChildComponent
  2. Injecteur AppComponent
  3. Injecteur d'application

Résolution dynamique des dépendances

Les injecteurs résolvent dynamiquement les dépendances en fonction de la hiérarchie des injecteurs. Les fournisseurs manquants sont automatiquement recherchés dans les injecteurs parents, en cascade jusqu'à l'injecteur d'application.

Configuration du fournisseur à plusieurs niveaux

Les fournisseurs peuvent être configurés à chaque niveau d'injecteur (application , composant). Cela permet un partage flexible des dépendances :

  • Les fournisseurs au niveau de l'application créent des instances partagées dans toute l'application.
  • Les fournisseurs au niveau des composants créent des instances partagées dans l'arborescence des composants et les services impliqués.

Conclusion

En utilisant le décorateur @Injectable et en comprenant la hiérarchie des injecteurs, les développeurs peuvent injecter efficacement des services en dehors des composants dans Angular 2 (bêta), permettant ainsi une plus grande efficacité gestion des dépendances et organisation du code.

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