web-dev-qa-db-ja.com

angular 6 formControlNameおよびngModelの使用に関する警告

最近、angularバージョンを6-rcにアップグレードしました。次の警告が表示されました

FormControlNameと同じフォームフィールドでngModelを使用しているようです。 ngModel入力プロパティとリアクティブフォームディレクティブでのngModelChangeイベントの使用のサポートはAngular v6で廃止され、Angular v7で削除されます

これに関する詳細については、こちらのAPIドキュメントを参照してください。 https://angular.io/api/forms/FormControlName#use-with-ngmodel

それは正確に何を言っていますか?リンクには#use-with-ngmodelのフラグメントがありません

ngModelを削除し、データバインディングオブジェクトとしてformGroupを使用する必要があると思います。

30
Akshay

Angular 6ドキュメントを探している場合は、 https://next.angular.io を使用してください。

https://next.angular.io/api/forms/FormControlName#use-with-ngmodel

したがって、3つのオプションがあります。

  1. リアクティブフォームを使用する

  2. テンプレート駆動型フォームを使用する

  3. 無音警告(非推奨)

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

formControlNameを含むformGroup内のすべてのフィールドから[(ngModel)]を削除し、次のようにコントローラクラスに値を設定します。this.form.get('first').setValue('some value');

2
Sohail Anwar

追加

[ngModelOptions]="{standalone: true}" 

angularウェブサイトからもっと読むことができます https://angular.io/api/forms/NgModel