169 похожих чатов

Так подход с тем что бы вот так вот ручками

(setValidators/clearValidators/updateValueAndValidity) считается ок? Просто меня очень испугало раздуваение компонента на ровном месте на 100+ строк. Возможно это лучше выносить в другой файл для читабельности, но особо не понимаю когда можно вынести это, ибо это нужно только для одного компонента, да и в принципе построение формы и работа с ней по идеи должна ложиться на плечи компонента всё же

21 ответов

13 просмотров

вот, пусть и лежит всё в одном компаненте, а то что дополнительно 100 строк, ну это дело спорное. как по мне даже хорошо, работадель смотрит на гитхаб, и говорит, "А этот парень молодец, пишет много кода)"

Динамически строй форму.

Vlad-Chabanenko Автор вопроса
Vlad Chabanenko
Что это значит?

По конфигу к примеру

зависит от кода, обычно это превращается в грязь

Vlad-Chabanenko Автор вопроса
Smooth Operator
зависит от кода, обычно это превращается в грязь

Вынесение в файл или держание данных о форму в компоненте?

Vlad-Chabanenko Автор вопроса
Smooth Operator
использование setValidators/clearValidators

Так а какая альтернатива тогда?

У меня formGroup создается в сервисе, там же методы которые делают setValidators/clear/update. В компоненте почти нету кода

Vlad-Chabanenko Автор вопроса
Юра 🪐
У меня formGroup создается в сервисе, там же метод...

На каждую форму сервис? У меня сейчас большой сервис ибо у меня порядка 40 форм медицинских, из которых 10-20 довольно внушительные по размеру (по темплейту 4к+ строк кода и 50+ полей) есть рекордсмены по под 200 строк кода и 8к темплейт. И пихать все это в один сервис просто будет очень жёстко, сервис вырочтет адски, а он и сейчас не маленький

Vlad Chabanenko
На каждую форму сервис? У меня сейчас большой серв...

Я думаю нормально на каждую большую форму создавать сервис, так как у тебя компонент растет, и логика по view будет в перемешку з логикой по форме

Vlad Chabanenko
На каждую форму сервис? У меня сейчас большой серв...

а вариант разбить компонент на N и сделать их самодостаточными, smart, со своими инжектами и т.д?

Vlad Chabanenko
Понял

или свои абстракции или динамические формы со связями

Vlad-Chabanenko Автор вопроса
Евгений Гений
а вариант разбить компонент на N и сделать их сам...

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

Vlad Chabanenko
Пока если честно боюсь аж так делать, ибо данные с...

данные с одного компонента могут потенциально аффектить данные в другом компоненте - так этого нужно избегать. вы это специально сделали или так было до вас?

Vlad Chabanenko
Пока если честно боюсь аж так делать, ибо данные с...

А как вы столь большие формы, кстати, синхронизируете с сервером в плане валидаторов?

Vlad-Chabanenko Автор вопроса
Евгений Гений
данные с одного компонента могут потенциально аффе...

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

Vlad-Chabanenko Автор вопроса
Dmitriy Sviridov
А как вы столь большие формы, кстати, синхронизиру...

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

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта