延迟加载的功能模块中未知的Angular HTTP客户端拦截器

时间:2018-11-22 16:28:12

标签: angular angular-http-interceptors

我们在Angular中制作了一个拦截器。这是通过核心模块中的forRoot()导出的。 app模块使用forRoot()导入此核心模块。

在延迟加载的特征模块中,拦截器未知。

我们如何解决此问题?

http客户端模块仅在应用模块中导入一次。

1 个答案:

答案 0 :(得分:0)

您必须在每个LazyLoaded模块中导入coreModule才能从其服务和组件中受益

要使您的服务成为 singleton ,请在具有.forRoot的AppModule中以及在没有.forRoot的每个lazyLoaded模块中导入您的coreModule,

所以如果它是您的主要模块:

    @NgModule({
     imports: [
      ...
      CoreModule.forRoot()
    ],

如果是延迟加载的模块

@NgModule({
     imports: [
      ...
      CoreModule
    ],