угловое предупреждение 6 для использования formControlName и ngModel
Недавно я обновил угловую версию до 6-rc. Я получил следующее предупреждение
Похоже, вы используете ngModel в том же поле формы, что и formControlName. Поддержка использования входного свойства ngModel и события ngModelChange с директивами реактивной формы устарела в Angular v6 и будет удалена в Angular v7
Для получения дополнительной информации об этом см. наши документы API: https://angular.io/api/forms/FormControlName#use-with-ngmodel
Что он точно говорит? ссылка не имеет никакого фрагмента для #use-with-ngmodel
Думаю, мне нужно удалить ngModel
и использовать formGroup в качестве объекта привязки данных.
Ответы
Ответ 1
Если вы сейчас ищете документацию по Angular 6, используйте https://next.angular.io
https://next.angular.io/api/forms/FormControlName#use-with-ngmodel
Таким образом, у вас есть 3 варианта:
-
использование реактивных форм
-
использование форм, управляемых шаблонами
-
предупреждение о молчании (не рекомендуется)
imports: [
ReactiveFormsModule.withConfig({warnOnNgModelWithFormControl: 'never'});
]
Ответ 2
Удалите [(ngModel)]
из каждого поля внутри formGroup, содержащего formControlName
, и установите значение в классе контроллера следующим образом: просто this.form.get('first').setValue('some value');
не закрывает или не отключает предупреждения в явном виде
Ответ 3
добавить
[ngModelOptions]="{standalone: true}"
Вы можете читать больше с сайта angular https://angular.io/api/forms/NgModel