new InjectionToken<MyService>('my service')
Запровайдил в модуле
providers: [{provide: myToken, useClass:MyService}]
Инжектирую в компоненте
constructor(@Inject(myToken) private myService: MyService)
Получаю ошибку NullInjectorError: No provider for MyService, как так)?
Вы тут смотрели? https://angular.io/api/core/InjectionToken
const MY_SERVICE_TOKEN = new InjectionToken<MyService>('Manually constructed MyService', { providedIn: 'root', factory: () => new MyService(inject(MyDep)), });
Смотрел, но не пойму почему мой код падает если я провайжу?
Я так понимаю вам нужно добавить factory: () => new MyService(), И делать без providers: [{provide: myToken, useClass:MyService}]
Второй параметр у InjectionToken необязательный, добавил его, все равно та же ошибка.
Обсуждают сегодня