如何在Angular 2中注入模块依赖项

时间:2017-03-17 12:27:24

标签: javascript angular dependency-injection

我的角度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?

0 个答案:

没有答案