2017-12-20 14 views
0

Ich habe ein Formular, in dem ich einige Felder wie Feld A, Feld B, Feld C, FieldD und viele andere Felder haben. Benutzer können als mein Feld erstellen, wie sie brauchen. Aber ich möchte für Wertänderung nur für Feld A und FeldB abonnieren. Ich versuchte mit Wertänderung auf das gesamte Formular, es funktioniert gut, aber wenn das Formular riesig ist, abonnieren für Wertänderung des gesamten Formulars ist teuer.So gibt es eine Möglichkeit, selektiv für ein Array von Formularsteuerung zu abonnieren.Dies ist wollen ich versuchteAbonnieren für bestimmte Form Steuerwert Änderungen aus einer Liste der Formularsteuerung Angular 2

this.form.subscribe(value => { 
 
valueA = this.form.get('fieldA').value; 
 
valueB = this.form.get('fieldB').value 
 
})
, aber dies ist expensive.Any Hilfe ist willkommen

Dank

Antwort

1

Mit Winkel ist es besser, Sie benutzerdefinierte NgModel definieren Sie ein Modellobjekt oder Variable, und weisen es Ihnen Eingang wie dies:

prenom: string= 'John'; 


<input [(ngModel)]="prenom"> 
+0

Die Felder werden dynamisch erstellt. Ich habe eine Überprüfung, um festzustellen, ob Feld A und Feld B vorhanden sind. Dann möchten Sie Wertänderungen aus der Liste der dynamisch erstellten Felder abonnieren – dockerrrr

+0

Ok, also ist der beste Weg, FormBuilder und Validatoren zu verwenden. Dieser Artikel kann Ihnen helfen: https://angular.io/docs/ts/latest/cookbook/form-validation.html –

+0

gibt es eine Möglichkeit, Array von formcontrolname in this.form.get-Methode übergeben – dockerrrr

Verwandte Themen