Упрощенная версия кода:
@Injectable()
export class JwtInterceptor implements HttpInterceptor {
constructor(
private readonly router: Router,
private readonly activatedRouteSnapshot: ActivatedRouteSnapshot,
@Inject(AuthServiceFactory) private readonly authServiceFactory: ServiceFactoryBase<IAuthService>,
@Inject(LoggingServiceFactory) private readonly loggingServiceFactory: ServiceFactoryBase<ILoggingService>) {
console.log('router', router);
console.log('activated-route-snapshot', activatedRouteSnapshot);
}
Ничто из этого не может быть решено.Сбой со стандартным сообщением следующего содержания:
StaticInjectorError (AppModule) [InjectionToken HTTP_INTERCEPTORS -> ActivatedRouteSnapshot]: StaticInjectorError (Платформа: ядро) [InjectionToken HTTP_INTERCEPTORS -> ActivatedRouredRouredSoured :RouctedRouredSouredRouredSouredSouredRouredSouredSouredRouredSouredSouredRouredSouredSouredRouratedRouratedRouredSouredRou.!
.. Как правильно импортировать RouterModule
в приложение?
PS Я получил SharedModule
вместо AppModule
для экспорта всех моих материалов, но не Angular:
@NgModule({
declarations: any.concat(pipes),
providers: any
.concat(serviceFactories)
.concat(guards)
.concat(otherProviders)
.concat([{
provide: HTTP_INTERCEPTORS,
useClass: JwtInterceptor,
multi: true
}]),
exports: any.concat(pipes)
})
export class SharedModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: SharedModule,
providers: any
.concat(serviceFactories)
.concat(guards)
.concat(otherProviders)
};
}
}
The AppModule
:
@NgModule({
declarations: appComponents.concat(auxComponents),
imports: [
// theirs
BrowserModule,
HttpClientModule,
AppRoutingModule,
// ours
SharedModule,
CoursesModule
],
bootstrap: [
AppComponent
]
})
export class AppModule { }