Похоже, у вас не может быть отдельных перехватчиков в приложении. Я проверил это с помощью этого - Interceptors-check
Я испытал на
- Отдельный родительский и дочерний модули импортированы в компонент приложения отдельно.
- После импорта дочернего модуля в родительский компонент и родительского в приложение.
- Я переместил все службы внутри модулей (даже если мне пришлось дублировать код)
- Я переместил
HttpClientModule
из родительского и Дочерние модули в модуле приложения.
Похоже, когда мы регистрируем перехватчик, он подключается ко всему приложению, а не только к этому модулю.
Примечание : Я удалил свой предыдущий ответ, где я упомянул приведенный ниже текст и пример (поскольку мое предположение оказалось НЕПРАВИЛЬНЫМ).
Если вы хотите иметь отдельные перехватчики для разных компонентов, то оберните их в разделите модули и импортируйте один из них в другой, исходя из ваших предпочтений.
// child.module.ts
@NgModule({
...
declarations: [ChildComponent],
providers: [{
provide: HTTP_INTERCEPTORS,
useClass: InterceptorTwo,
multi: true,
}],
exports: [ChildComponent]
})
export class ChildModule{}
// parent.module.ts
@NgModule({
imports: [
... ,
ChildModule
],
providers: [
... , {
provide: HTTP_INTERCEPTORS,
useClass: InterceptorOne,
multi: true,
}],
...
})
export class ParentModule{}