Ich habe die folgende Klasse ModuleWithHttp
:Wie erweitert man eine Komponente mit Abhängigkeitsinjektion in Angular 2?
@Injectable()
export default class {
constructor(private fetchApi: FetchApi) {}
}
und ich möchte es wie folgt verwenden:
@Component({
selector: 'main',
providers: [FetchApi]
})
export default class extends ModuleWithHttp {
onInit() {
this.fetchApi.call();
}
}
so durch eine Super-Klasse erweitern, die bereits eine Abhängigkeit ich einen Zugang haben wollen spritzt es in seinen Kindern.
habe ich versucht, viele verschiedene Möglichkeiten, auch Super-Klasse als Komponente:
@Component({
providers: [FetchApi]
})
export default class {
constructor(private fetchApi: FetchApi) {}
}
Aber noch, this.fetchApi
null
ist, auch in der Super-Klasse.
Sie benötigen FetchApi in die erbenden Klasse zu injizieren, aber wenn es hilft, können Sie es von der Basisklasse, etwas zu tun zugreifen wie '( this) .fetchapi.call (...)' (Sie müssen es nicht ausdrücklich über 'super()' übergeben.) –
rinogo