Maison > interface Web > js tutoriel > Comment injecter des services en dehors des composants dans Angular 2 ?

Comment injecter des services en dehors des composants dans Angular 2 ?

Patricia Arquette
Libérer: 2024-11-26 05:25:13
original
835 Les gens l'ont consulté

How to Inject Services Outside of Components in Angular 2?

Injection de dépendances dans Angular 2 : injection de services en dehors des composants

Dans Angular 2, l'injection de services dans des composants est simple à l'aide du décorateur @Component . Cependant, il existe des scénarios dans lesquels vous devrez peut-être injecter des services en dehors des composants. Cet article explique comment y parvenir à l'aide de l'injection de dépendances (DI).

Services injectables

Pour activer l'ID pour un service, celui-ci doit être décoré avec le décorateur @Injectable. . Ce décorateur marque la classe comme injectable, permettant d'injecter ses paramètres. Notez que le nom « Injectable » est légèrement trompeur, car il ne rend pas la classe injectable mais la rend plutôt injectable dans le sens où ses paramètres peuvent être injectés.

Mécanisme d'injection de dépendances

Angular 2 utilise un système hiérarchique d'injecteurs, chaque niveau correspondant à un composant ou un ensemble de composants particulier. Lorsque le système DI rencontre une dépendance, il recherche d'abord dans l'injecteur actuel. Si la dépendance n'est pas trouvée, il monte dans la hiérarchie des injecteurs jusqu'à ce qu'il trouve un fournisseur pour la dépendance.

Injecter des services entre injecteurs

Pour injecter un service dans un autre service, définissez simplement la dépendance dans le constructeur du service dépendant et ajoutez le décorateur @Injectable au service dépendant.

Pour exemple :

@Injectable()
export class MyFirstSvc {
  // ...
}

@Injectable()
export class MySecondSvc {
  constructor(private myFirstSvc: MyFirstSvc) {
    // ...
  }
}
Copier après la connexion

Dans cet exemple, MySecondSvc dépend de MyFirstSvc et peut être injecté dans n'importe quel injecteur où MyFirstSvc est disponible.

Définition des fournisseurs

Pour spécifier le fournisseur d'un service, utilisez le tableau fournisseurs dans le décorateur @Component ou NgModule. Par exemple, si vous souhaitez définir MyFirstSvc comme fournisseur dans l'injecteur d'application, vous pouvez le faire comme suit :

@Component({
  // ...
  providers: [MyFirstSvc]
})
export class AppComponent {
  // ...
}
Copier après la connexion

Conclusion

En comprenant la hiérarchie nature des injecteurs et du décorateur @Injectable, vous pouvez injecter efficacement des services en dehors des composants dans Angular 2. Cela vous permet de créer des services modulaires et réutilisables qui peuvent être facilement injectés et partagé sur votre application.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal