2017-02-12 7 views
1

Angenommen, ich verwende form Element innerhalb MyComponent Vorlage. Ich verwende einen Template-basierten Ansatz für Formulare. Also ich benutze:Zugriff auf formGroup innerhalb der Komponentenklasse

<form #f="ngForm"> 

dann kann ich Form Referenzen in der Vorlage wie folgt verwenden:

<pre>Valid? {{f.form.controls.email?.valid}}</pre> 

Aber was ist, wenn ich die formGroup innerhalb der Komponente zugreifen wollte, wie kann ich das tun? Ich denke, dass ich es so abfragen kann:

@ViewChild("f", {read: NgForm}) form 

Ist es der richtige Weg, dies zu tun?

+0

möchten Sie auf eine Formulargruppe eines untergeordneten Elements in einer ** übergeordneten Komponente ** oder in der ** entsprechenden Komponente ** selbst zugreifen? – Aravind

+0

top level formGroup erstellt von 'ngForm' –

+0

können Sie bitte erarbeiten. – Aravind

Antwort

1

Sie können @ViewChild("f", {read: NgForm}) verwenden, wenn Sie mehrere Formulare haben, oder nur @ViewChild(NgForm), wenn ein einzelnes Formular in der Vorlage vorhanden ist.

+0

danke, auf jede andere Weise? –

+0

Sie sollten die '@ ViewChild' /' @ ViewChildren'/'@ ContenChild' /' @ ContentChildren' Dokumentation lesen. https://angular.io/docs/ts/latest/ – kemsky

+0

danke, ich habe es gelesen, bevor ich die Frage gestellt habe, also konnte ich mit '@ViewChild (" f ", {lesen: NgForm}) Formular kommen Ich selbst –

Verwandte Themen