Есть класс A:
export class A {
constructor(protected http: Http) {
}
}
Есть класс B:
export class B extends A {
constructor(protected http: BetterHttp) {
console.log(http);
}
}
Есть какой то переопределеный BetterHttp:
@Injectable()
export class BetterHttp extends Http {
constructor(backend: ConnectionBackend, defaultOptions: RequestOptions) {
super(backend, defaultOptions);
}
.....
}
module:
@NgModule({
providers: [
{
provide: BetterHttp ,
useFactory: (xhrBackend: XHRBackend, requestOptions: RequestOptions) => {
return new SecurityHttp(xhrBackend, requestOptions, authService, router);
},
deps: [XHRBackend, RequestOptions]
}
]
})
export class CModule {
}
проблема в том что в B все равно продолжает инжектиться Http, вместо BetterHttp, но если делаю конструктор с BetterHttp в каком нибудь компоненте не относледованном от чего либо, то все нормально инжектиться