(setValidators/clearValidators/updateValueAndValidity) считается ок? Просто меня очень испугало раздуваение компонента на ровном месте на 100+ строк. Возможно это лучше выносить в другой файл для читабельности, но особо не понимаю когда можно вынести это, ибо это нужно только для одного компонента, да и в принципе построение формы и работа с ней по идеи должна ложиться на плечи компонента всё же
вот, пусть и лежит всё в одном компаненте, а то что дополнительно 100 строк, ну это дело спорное. как по мне даже хорошо, работадель смотрит на гитхаб, и говорит, "А этот парень молодец, пишет много кода)"
Динамически строй форму.
Что это значит?
По конфигу к примеру
зависит от кода, обычно это превращается в грязь
Вынесение в файл или держание данных о форму в компоненте?
использование setValidators/clearValidators
Так а какая альтернатива тогда?
У меня formGroup создается в сервисе, там же методы которые делают setValidators/clear/update. В компоненте почти нету кода
На каждую форму сервис? У меня сейчас большой сервис ибо у меня порядка 40 форм медицинских, из которых 10-20 довольно внушительные по размеру (по темплейту 4к+ строк кода и 50+ полей) есть рекордсмены по под 200 строк кода и 8к темплейт. И пихать все это в один сервис просто будет очень жёстко, сервис вырочтет адски, а он и сейчас не маленький
Надо было разбивать на CVA
Я думаю нормально на каждую большую форму создавать сервис, так как у тебя компонент растет, и логика по view будет в перемешку з логикой по форме
а вариант разбить компонент на N и сделать их самодостаточными, smart, со своими инжектами и т.д?
ну вот такие либы как пример
или свои абстракции или динамические формы со связями
Пока если честно боюсь аж так делать, ибо данные с одного компонента могут потенциально аффектить данные в другом компоненте при такой архитектуре, то есть это может заметно усложнить связь формы в целом. У нас некоторые формы динамические по UI и от выбора значения в начале может зависеть набор полей (не обязательно целых блоков в конце)
данные с одного компонента могут потенциально аффектить данные в другом компоненте - так этого нужно избегать. вы это специально сделали или так было до вас?
А как вы столь большие формы, кстати, синхронизируете с сервером в плане валидаторов?
Я имел ввиду что если разбить одну целлосную форму на подкомпоненты, то будет эта проблема. По этому я считаю что не очень будет разбить
Как вам сказать, у меня проект далеко от идеалов и нормальных практик из за срочности и проблем с менеджментом в прошлом. По этому на сервере нет почти никакой валидации связанной с этим
Обсуждают сегодня