Mam zdefiniowaną usługę startową w usłudze @Injectable
. Chcę uzyskać wystąpienie usługi bez użycia wtrysku konstruktora. Próbowałem użyć ReflectiveInjector.resolveAndCreate
, ale wydaje się, że tworzymy nową instancję.Uzyskiwanie instancji usługi bez wstrzyknięcia konstruktora
Powodem, dla którego próbuję zrobić, jest to, że mam komponent bazowy wyprowadzony przez wiele komponentów. Teraz muszę uzyskać dostęp do usługi, ale nie chcę dodawać go do ctor, ponieważ nie chcę wstrzykiwać usługi na wszystkie składniki pochodne.
TLDR: Potrzebuję ServiceLocator.GetInstance<T>()
UPDATE: kod Aktualizacja dla RC5 +: Storing injector instance for use in components
Przechowywanie iniektora w globalnym var w bootstrap.then() brzmi jak to, czego potrzebuję. – dstr
Pytanie mówi bez konstruktora, który czyni tę odpowiedź raczej niepomocną. –
Bez konstruktora nie ma iniekcji. Czy powinniśmy usunąć to pytanie ;-) –