Je suive le Documentation angulaire et essayer de fournir un service (Chrestervice) à un module particulier (CommandesModule). Après avoir importé le service sur une composante (ordonnance de commande), je reçois une erreur. Quelqu'un pourrait-il me dire que ce que je fais mal ici?
Voici un lien à mon code Stackblitz. p>
ordre.service.ts p> ordre-list.component.ts p> Je reçois l'erreur suivante: P> Error: Uncaught (in promise):
Error: StaticInjectorError(AppModule)[OrderListComponent -> OrderService]:
StaticInjectorError(Platform: core)[OrderListComponent -> OrderService]:
NullInjectorError: No provider for OrderService!
3 Réponses :
fourniin = 'root' code> à l'intérieur de votre service. Ce sera
enregistrer le
service avec l'injecteur d'applications racine, sera arboré secoué et
sera disponible pour tout composant qui en a besoin. L'arbre tremblant
assurera que le service n'est inclus que dans les paquets où il est
utilisé. li>
- Utilisez le tableau des fournisseurs dans un composant si le service n'a besoin que de
être fourni dans le composant et ses enfants imbriqués. LI>
-
Il n'est pas conseillé d'utiliser des fournisseurs dans un module. P>
Utiliser fournitine = 'ordresModule' code> si vous voulez
Limitez l'accès à un service à un module chargé paresseux particulier (Mododule de commande). Il
aura alors besoin d'un module supplémentaire pour empêcher la circulaire
Problème de dépendance. p>
Ceci fournit une isolation de service au module
niveau. Si un autre composant de l'application en dehors de cette
Le module chargé paresseux tente de référencer le service un "hors de
Scope d'injecteur "Erreur est générée. P> li>
ol>
Voir cette Réponse P>
On dirait qu'il y ait un Ouvrir le problème à ce sujet. P>
Et si vous devez fournir un service strictement dans un module paresseux que vous avez dans votre exemple, vous avez deux options: P>
Vous devez ajouter checkerervice code> dans les fournisseurs code> (code> tableau
ordresModule code>.
Voici un guide Comment utiliser
fourni dans code> et
service code>.
https://angular.io/guide/providers#providedin-and-ngmodules p>