В течение нескольких дней я пытался найти хороший шаблон для моего варианта использования. У меня очень сложная реактивная форма, полная вложенных компонентов, некоторые поля требуются, некоторые поля могут появляться при определенных условиях и т. Д. c ... и это создает огромную проблему с поддержанием кода. Подход, который я использовал до сих пор, заключается в передаче formControl дочерним компонентам и заполнению оттуда, но стало очень трудно отлаживать, учитывая размер формы. Обязательным условием для этой формы является то, что при отправке всей формы выполняется проверка всех вложенных полей и отмечается отметка AsTouched любого поля, которое требуется, но не было вставлено. Я изучал 2 подхода, но ни один из них, похоже, не помог:
- Аксессор контрольного значения: концепция идеальна, logi c идеально разделяется между детьми без родителя. есть необходимость беспокоиться об этом, но CON заключается в том, что дочерние контроллеры не отображаются, и я не могу отметить все вспомогательные формы, чтобы показать соответствующие ошибки. элементы управления должны быть определены на родительском уровне, но, будучи очень большой формой, это кажется действительно контрпродуктивным и не решает мою проблему.
Интересно, есть ли у кого-нибудь опыт работы с такими формами и может ли он дать некоторые рекомендации о том, что является наилучшей практикой в этом случае. Я сделал очень простой stackblitz только с одним дочерним элементом, используя Контейнер управления, к сожалению, мне не удалось его запустить https://stackblitz.com/edit/angular-ivy-axbgr5