【发布时间】:2020-07-03 14:45:38
【问题描述】:
我有一个拦截器,我想在 app.module.ts 中作为 const 提供它。所以我使用了一个单独的文件将所有拦截器声明为一个对象数组。
在 http-interceptors/index.ts
import { HTTP_INTERCEPTORS } from "@angular/common/http";
import { ErrorIntercept } from "./error.interceptor";
import { CompanyInfoService } from "../services/companyInfo.service";
export const interceptorProviders = [
{ 'provide': HTTP_INTERCEPTORS, 'useclass': ErrorIntercept, 'multi': true, 'deps': [CompanyInfoService] }
];
在我的 app.module.ts 中,
import {interceptorProviders} from './http-interceptors/';
...
@NgModule ({
...
providers: [interceptorProviders]
})
这会引发错误 - Cannot read property 'intercept' of undefined
但是,当我如下在 app.module.ts 中直接提供拦截器时,它按预期工作。
providers: [{
provide: HTTP_INTERCEPTORS,
useClass: ErrorIntercept,
multi: true,
deps: [CompanyInfoService]
}]
我无法找出原因...所以请告诉我您的想法。蒂亚!
【问题讨论】:
-
尝试传播你导出的数组
标签: angular angular-httpclient angular-http-interceptors