?
не очень понятен вопрос, можно более развернуто?
Як використати TranslateService у не простому класі?) TranslateService - класичний ангуляр сервіс
Полагаю, вам лучше разобраться, как работает DI механизм в ангуляре в целом https://angular.io/guide/dependency-injection
класс должен быть помечен Injectable декоратором во первых, во вторых его созданием должен заниматься DI, т.е создавать его должен injector
и только через конструктор можно принять сервис, это в третьих
необов'язково, можна передавати injector з класу що наслідує чи підтримує інжектування і отримувати доступ через this.injector, наприклад ось так, але я хочу отримувати доступ до сервісу що має інжект у самий "рут" (provideIn: 'root')
так если injector имеет иерархию parents вплоть до root injector то даже ваш пример будет работать
Якщо я створюю новий клас що наслідувано чи розширено інжектором, а якщо я це роблю з іншого простого класу чи наприклад зі стейту, то вже не вийде + не дуже хочеться використовувати параметр конструктора. І так, мій варіант працює, але в певних контекстах Єдиний варіант що я зараз бачу, це щось типу такого: export var applicationInjector: Injector; bootstrap(AppComponent, [MyService, ...]).then((ref: ComponentRef) => { applicationInjector = ref.injector; }); але знов, глобальна зміна...
Обсуждают сегодня