Angenommen, dies ist mein app.module.ts Datei:Angular 2: Ist es möglich, eine Komponente in einen Service zu injizieren?
@NgModule({
declarations: [
AppComponent,
Comp1,
Comp2,
Comp3
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [Service],
bootstrap: [AppComponent]
})
export class AppModule { }
Lassen Sie uns auch sagen, dass die Vorlage von AppComponent ist:
<comp1></comp1>
<comp2></comp2>
Wie man sehen kann ich eine Hauptkomponente haben, AppComponent. Es enthält zwei Unterkomponenten, Comp1 und Comp2, und ich möchte Comp1 dem Dienst der Anwendung injizieren. Wie kann ich es tun?
Ich nehme an, Sie möchten Komponenten dynamisch zur Seite hinzufügen. Dann lies http://blog.rangle.io/dynamic-creating-components-with-angular-2/ es kann dir helfen. Wenn Sie den Komponentenstatus vom Dienst aus steuern möchten, sollten Sie dem Service die Observable-Eigenschaft hinzufügen. Komponente, die den Status ändert -> höre auf diese Eigenschaft. Ein anderer Service/eine andere Komponente legt den Wert für diese Eigenschaft fest. I.e. Der Dienst verhält sich wie ein Proxy. –