Предотвращение изменения входных данных от загрязнения формы (угловой 5.2)

Есть ли простой способ предотвратить загрязнение родительского элемента в элементе управления вводом? Я мог бы сделать это путем создания пользовательского тега, который не имеет controlValueAccessor, но мне было интересно, есть ли более простой способ.

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

1 ответ

Решение

Если вы используете формы на основе шаблонов, вы можете использовать

[ngModelOptions]="{standalone: true}"

Это специально определено для вашего сценария. Из документации:

standalone: ​​по умолчанию false. Если для этого параметра установлено значение true, ngModel не будет регистрироваться в родительской форме и будет действовать так, как если бы она находилась не в форме. Это может быть удобно, если у вас есть мета-элементы управления формы, то есть элементы формы, вложенные в тег, которые управляют отображением формы, но не содержат данных формы.

Другие вопросы по тегам