Ich habe kürzlich die angular version auf 6-rc aktualisiert. Ich habe folgende Warnung erhalten
Anscheinend verwenden Sie ngModel im selben Formularfeld wie formControlName. Die Unterstützung für die Verwendung der Eingabeeigenschaft ngModel und des Ereignisses ngModelChange mit Anweisungen für reaktive Formulare wurde in Angular v6 veraltet und wird in Angular v7 entfernt
Weitere Informationen hierzu finden Sie in unseren API-Dokumenten hier: https://angular.io/api/forms/FormControlName#use-with-ngmodel
Was heißt das genau? Der Link hat kein Fragment für #use-with-ngmodel
Ich denke, ich muss ngModel
entfernen und formGroup als mein Datenbindungsobjekt verwenden.
Wenn Sie gerade nach Angular 6 Dokumentation suchen, verwenden Sie https://next.angular.io
https://next.angular.io/api/forms/FormControlName#use-with-ngmodel
Sie haben also 3 Möglichkeiten:
reaktive Formen verwenden
vorlagengesteuerte Formulare verwenden
stille Warnung (nicht empfohlen)
imports: [
ReactiveFormsModule.withConfig({warnOnNgModelWithFormControl: 'never'});
]
Entfernen Sie [(ngModel)]
aus jedem Feld in formGroup, das formControlName
enthält, und legen Sie den Wert in der Controller-Klasse wie folgt fest: this.form.get('first').setValue('some value');
Schließen Sie keine Warnungen und bringen Sie sie nicht explizit zum Schweigen
hinzufügen
[ngModelOptions]="{standalone: true}"
Sie können mehr von angular Website https://angular.io/api/forms/NgModel lesen