Angular. Переопределяет ли forRoot(): ModuleWithProviders уже определённые в модуле провайдеры?
Переопределит ли объект, возвращаемый в методе forRoot() провайдеры, определённые в модуле и там будет лишь один провайдер — BASE_URL? Или в объекте, возвращаемом в forRoot() будут два провайдера: HTTP_INTERCEPTORS и BASE_URL?
@NgModule({
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: AuthInterceptor,
multi: true
},
],
})
export class SharedModule {
public static forRoot(): ModuleWithProviders<SharedModule> {
return {
ngModule: SharedModule,
providers: [
AuthGuard,
{
provide: BASE_URL,
useValue: environment.baseUrl,
},
]
};
}
}
Ответы (1 шт):
Автор решения: NaClnik
→ Ссылка
Я выяснил, что при импорте объекта, возвращаемом в forRoot() не происходит переопределение провайдеров исходного модуля. Можете увидеть это здесь: https://stackblitz.com/edit/angular-h1ftna?file=src/app/hello.component.ts