最近、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を使用する必要があると思います。
Angular 6ドキュメントを探している場合は、 https://next.angular.io を使用してください。
https://next.angular.io/api/forms/FormControlName#use-with-ngmodel
したがって、3つのオプションがあります。
リアクティブフォームを使用する
テンプレート駆動型フォームを使用する
無音警告(非推奨)
imports: [
ReactiveFormsModule.withConfig({warnOnNgModelWithFormControl: 'never'});
]
formControlName
を含むformGroup内のすべてのフィールドから[(ngModel)]
を削除し、次のようにコントローラクラスに値を設定します。this.form.get('first').setValue('some value');
追加
[ngModelOptions]="{standalone: true}"
angularウェブサイトからもっと読むことができます https://angular.io/api/forms/NgModel