валидацию контролов при определенных условиях, скрывают/показывают части формы. Держите всю большую форму в одном компоненте или разбиваете на кусочки? На сколько глубоко делается декомпозиция формы? В общем , накиньте практик, советов, статей, идей, буду благодарен!
Всем Angular!
На мой взгляд, декомпозиция нужна там где часть чего то используется не один раз в проекте. Иначе нет смысла.
я бы делал так, чтобы вложенных форм не было. корневая форма содержит контролы с объектами и т.д.
а если "часть чего-то" используется в другом месте, то прокидывали бы "сабформу" (formGroup) ребёнку через @Input ?
а если форма на столько большая, что шаблон в размерах достигает в 1000+ строк , а в .ts-файле логика разрастается с каждым добавлением нового контрола ?
ну будет куча компонентов
Да, сам контроль формы или группу формы передать чайлду через Input() директиву. Повторяюсь, актуально только при dry.
сам работал в проекте где в одном компоненте число форм могло достигать 100. в среднем 30-50 форм. у нас логика размещалась на бэке, т.е. валидаторы и форма менялась после сабмита. были хэлпер функции и отдельный формгенератор файл
Я разбивал на форму на несколько маленьких, через ControlValueAccessor interface
Внутри них делал валидацию
Так же создал отдельный сервис класс, в котором создается форма, и стримы всяки в моем случае калькуляции
а) не делать огромных форм б) делать пошаговое заполнение формы в) использовать динамические формы
выносить контролы со своей логикой в cva компоненты
Обсуждают сегодня