J'ai plusieurs modules disent maintenant lorsque je charge mon Strong> Structure forte> p> Stackblitz p> Alors, comment puis-je y parvenir avec une injection de dépendance? P> P> SchoolModule Code>, UniversitolicModule Code>, SharedModule > SharedModule code> a BasesService code> auquel schoolmodule code> et UniversitéModule indicatif> s'étend p> SchoolModule code>, je veux BasesService CODE> doit obtenir la mise en œuvre de Ecissions Code>, et la même chose pour UniversityModule CODE> P>
3 Réponses :
Vous devez déclarer votre classe de service de base en tant que classe abstraite avec une méthode abstraite getname ()
Malheureusement, Angular2 ne peut pas injecter une classe d'un autre module sans obtenir l'importation entre les modules et si vous avez besoin de charger paresseux, les choses ne fonctionnent pas.
Un projet est chargé de manière dynamique d'un composant d'un autre module.
Il est difficile d'importer cela dans votre projet, mais vous permet de vous enregistrer deux fois.
Ce projet peut être trouvé ici . P>
Le problème est que Secretservice fourni est la seule version avec la construction dans un dernier module Imported Dernier module d'application, de sorte que si vous souhaitez que Secretservice Mise à jour avec correctement bassevice, vous devez fournir à la fois basservice et Secretservice dans une composante de l'université et de l'école. dans l'école.component.ts: et in University.component.ts p> Mais pourquoi tu veux envelopper le service de base dans Secretservice Utilisez directement les basservice dans un composant partagé? p> Utilisation de baseservice comme celui-ci dans Shared.Component.ts p> Utilisation de basesservice Vous résoudra ce problème d'injection sans solution de contournement sur Secretservice P> < / p>