wake-up-neo.com

angular 6 Warnung für die Verwendung von formControlName und ngModel

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.

30
Akshay

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:

  1. reaktive Formen verwenden

  2. vorlagengesteuerte Formulare verwenden

  3. stille Warnung (nicht empfohlen)

    imports: [
      ReactiveFormsModule.withConfig({warnOnNgModelWithFormControl: 'never'});
    ]
    
29
yurzui

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

2
Sohail Anwar

hinzufügen

[ngModelOptions]="{standalone: true}" 

Sie können mehr von angular Website https://angular.io/api/forms/NgModel lesen