Injizierte Abhängigkeit ist beim Erweitern von BaseRequestOptions nicht definiert.
Ich verlängereBaseRequestOptions
in Angular2, um Header für jede Anforderung hinzuzufügen. Ich habe auch einConfig
-Klasse, die Schlüssel / Wert-Paare basierend auf der Domäne bereitstellt, die ich in meine abgeleitete Klasse einfügen muss:
import { BaseRequestOptions } from '@angular/http';
import { Config } from '../../config/configuration';
export class DefaultRequestOptions extends BaseRequestOptions {
constructor(private config: Config) {
super();
Object.keys(this.config.api.headers).map((key) => {
this.headers.append(key, this.config.api.headers[key]);
});
}
}
In meinem Modul gebe ich den Provider als solchen an:
@NgModule({
. . .,
providers: [
. . .,
{ provide: RequestOptions, useClass: DefaultRequestOptions }
]
})
. . .
Das Problem, das ich habe, ist, dassthis.config
istundefined
imDefaultRequestOptions
. Ich benutze auch dasConfig
class als injizierte Abhängigkeit in anderen Klassen, daher bin ich mir sicher, dass es wie erwartet funktioniert und wenn ich die Werte für @ manuell einstelthis.headers
alles funktioniert gut.
Was mache ich falsch, das würde dazu führen, dass die Konfiguration in @ undefiniert isDefaultRequestOptions
?