Смешивание реактивной формы с шаблонной формой - PullRequest
0 голосов
/ 18 апреля 2019

Я построил большую форму с большим количеством ввода, используя шаблон формы.Теперь у меня есть требование добавить часть ввода динамически.Поскольку динамическое добавление входных данных кажется более простым с помощью реактивной формы, я хотел бы изменить эту конкретную часть входных данных на реактивную форму.

Так можно ли смешивать реактивные формы и шаблоны в одном теге формы?

Ответы [ 3 ]

3 голосов
/ 18 апреля 2019

Вы можете смешивать как реактивные формы , так и формы на основе шаблонов, но это настоятельно не рекомендуется.Это связано с тем, что использование ngModel в реактивных формах противоречит идее неизменности состояния формы.

Принципы реактивных форм следуют правилу привязки данных «в одну сторону», согласно которому вы следуете неизменному методу:управлять состоянием ваших форм таким образом, чтобы между вашим шаблоном и логикой компонента было больше разделения.Подробнее о преимуществах реактивных форм вы можете прочитать по ссылке в первом абзаце.

Предполагается, что вы продолжаете смешивать формы на основе шаблонов и реактивные формы.Консоль выдаст следующую ошибку при запуске ng serve:

Похоже, вы используете ngModel в том же поле формы, что и formControlName.Поддержка использования свойства ввода ngModel и события ngModelChange с директивами реактивной формы устарела в Angular v6 и будет удалена в Angular v7. Для получения дополнительной информации об этом см. Наши документы API здесь: https://angular.io/api/forms/FormControlName#use-with-ngmodel

2 голосов
/ 18 апреля 2019

Да, вы можете использовать оба вместе, сначала создать реактивную форму, а затем добавить шаблон на основе ваших требований. Пожалуйста, ознакомьтесь с угловой документацией, как оба могут использоваться вместе

2 голосов
/ 18 апреля 2019

Выдержка из ссылки, которую я разместил выше / https://blog.angular -university.io / Введение в угловые-2-формы-шаблон-управляемые-против-управляемые модели /

Раздел: Но что случилось с ngModel?

Обратите внимание, что ngModel все еще может использоваться с реактивными формами . Просто значение формы будет доступно в двух разных местах: модель представления и FormGroup, что потенциально может привести к некоторой путанице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...