Pri*_*hra 3 angular-http-interceptors angular
我正在尝试在我的 Angular 6 应用程序中实现延迟加载,我所有的 http 调用都是在FeatureModule(延迟加载)中进行的,但我仍然必须添加HttpClientModule我的AppModule而不是FeatureModule. 真的不明白为什么。另外,当我在我的 中添加拦截器时FeatureModule,它们没有拦截任何请求。我必须将它添加到AppModule唯一的(我猜,这是因为HttpClientModule在 中AppModule)。
我想明白为什么会这样??为什么我们不能HttpClientModule并且HTTP_INTERCEPTORS只在我没有打电话的地方FeatureModule而不是在AppModule那里http?
要回答这个问题。
只HttpClientModule在根级别添加一次。没有其他模块,无论它们是如何导入的lazy,eager甚至是从库中导入的。确保它没有导入HttpClientModule
但是,您可以跨模块使用 HTTP_INTERCEPTORS 提供程序而不会出现问题。
当您HttpClientModule跨模块导入然后将其重新导入另一个模块时,它会有效地重置该模块的 HTTP_INTERCEPTORS 的提供程序。这是一种预期的行为。如果您需要有关讨论的更多信息,可以查看:https : //github.com/angular/angular/issues/20575
| 归档时间: |
|
| 查看次数: |
966 次 |
| 最近记录: |