0
votes

Angular: Comment remplacer le service de module partagé de différents module

J'ai plusieurs modules disent SchoolModule , UniversitolicModule , SharedModule

SharedModule a BasesService auquel schoolmodule et UniversitéModule s'étend

maintenant lorsque je charge mon SchoolModule , je veux BasesService doit obtenir la mise en œuvre de Ecissions , et la même chose pour UniversityModule

Structure xxx

Stackblitz

Alors, comment puis-je y parvenir avec une injection de dépendance?


0 commentaires

3 Réponses :


0
votes

Vous devez déclarer votre classe de service de base en tant que classe abstraite avec une méthode abstraite getname () xxx


0 commentaires

0
votes

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 .


0 commentaires

0
votes

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: xxx

et in University.component.ts xxx

Mais pourquoi tu veux envelopper le service de base dans Secretservice Utilisez directement les basservice dans un composant partagé?

Utilisation de baseservice comme celui-ci dans Shared.Component.ts xxx

Utilisation de basesservice Vous résoudra ce problème d'injection sans solution de contournement sur Secretservice < / p>


0 commentaires