【发布时间】:2019-05-16 08:47:02
【问题描述】:
在我的app.module.ts 中,我注册了一个这样的 HTTP 拦截器:
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: TokenInterceptorService,
multi: true,
},
],
但是,延迟加载模块发出的请求不使用拦截器。 它也仅在延迟加载模块中注册 HTTP 拦截器时才有效。
但我只想在app.module.ts 中提供一次。
关于如何做到这一点的任何想法?还是我必须在每个模块中提供它?
【问题讨论】:
-
在声明拦截器时尝试使用
@Injectable({ providedIn: 'root', }),并将其从提供程序部分中删除 -
不起作用...从提供者中删除时,角度应该如何知道它是一个拦截器?
-
确保您没有在惰性模块中导入 HttpClientModule。
标签: angular typescript lazy-loading angular7 angular-http-interceptors