我的角度2.4.9应用程序A使用来自@ angular / http的Http和另一个(第三方)角度模块B,它本身也使用Http。
A -> http
A -> B -> http
为了添加通用HTTP头,我在A中创建了一个扩展Http的CustomHttp类。我已将它注入我的app.module.ts中,如此
import AppComponent from './app.component';
import { Http, XHRBackend, RequestOptions } from '@angular/http';
import { CustomHttp } from '../myhttp/custom.http';
import { B } from 'some/thirdparty/module';
@NgModule({
bootstrap: [
AppComponent
],
declarations: [
AppComponent
],
imports: [
B.forRoot({ ... /* custom config */ })
],
providers: [{
provide: Http,
deps: [XHRBackend, RequestOptions],
useFactory: (backend: XHRBackend, defaultOptions: RequestOptions) => {
return new CustomHttp(backend, defaultOptions);}
}]
})
这适用于我的应用程序模块A中的Http的所有用法。但是,它不适用于B依赖项。 B中的Http的所有用法似乎仍然使用原始类。
我知道Angular中的DI工作层次{?3}}。
有没有办法告诉Angular在B中的Http用法中注入CustomHttp?