Ich habe eine Komponente, die 2 Dienste verwenden.angular2 service instancied 2 mal
export class UseComponent {
constructor(private _service1: Service1,
private _service2: Service2){}
Der zweite Dienst benötigt eine Methode, die in einem ersten Dienst vorhanden ist. somit injizieren I auch die fisrty Dienst in zweiten
export class Service2{
constructor(private _service1: Service1) {};
getLabel(): string{
return this._service1.getLanguageLabel();
}
Provider für den Service in einem Modul
@NgModule({
imports: [.....],
declarations: [.....],
providers: [Service1, Service2]
})
export class UseModule { }
wenn die UseComponent die Methode getLabel verwendet, wird die service1 instancied wieder (erste Instanziierung, wenn die Komponente wird initialisiert)
Warum diese zweite Instanziierung? Wie man es vermeidet?
haben Sie den Provider in UseComponent festgelegt? –