Einfaches Szenario:
Ich habe mehrere Dienste, die eine gemeinsame Schnittstelle implementieren. Alle diese Dienste sind in der bootstrap
-Methode registriert.
Jetzt hätte ich gerne einen anderen Dienst, der alle registrierten Dienste einfügt, die die gemeinsame Schnittstelle implementieren.
d. h.
%Vor%Ist das irgendwie möglich?
Sie müssen Ihre Dienstleister wie folgt registrieren:
%Vor%Dies funktioniert nur mit Klassen, die nicht mit Interfaces arbeiten, da Interfaces zur Laufzeit nicht existieren.
Damit es mit Schnittstellen funktioniert, müssen Sie es anpassen:
%Vor%und injiziere diesen Weg:
%Vor%Siehe diese Plunkr für weitere Details: Ссылка .
Siehe diesen Link für weitere Details:
Da Schnittstellen zur Laufzeit nicht verfügbar sind (nur für statische Prüfungen), können Schnittstellen nicht für DI verwendet werden.
Verwenden Sie stattdessen ein Token: Ссылка
%Vor% %Vor% %Vor%Tags und Links angular angular2-services