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

Вопрос: как Вы работаете с большими реактивными формами, которые включают/выключают

валидацию контролов при определенных условиях, скрывают/показывают части формы. Держите всю большую форму в одном компоненте или разбиваете на кусочки? На сколько глубоко делается декомпозиция формы? В общем , накиньте практик, советов, статей, идей, буду благодарен!
Всем Angular!

12 ответов

24 просмотра

На мой взгляд, декомпозиция нужна там где часть чего то используется не один раз в проекте. Иначе нет смысла.

я бы делал так, чтобы вложенных форм не было. корневая форма содержит контролы с объектами и т.д.

Dmitry-Dreko Автор вопроса
A F
На мой взгляд, декомпозиция нужна там где часть че...

а если "часть чего-то" используется в другом месте, то прокидывали бы "сабформу" (formGroup) ребёнку через @Input ?

Dmitry-Dreko Автор вопроса
xxtux Shvets
я бы делал так, чтобы вложенных форм не было. корн...

а если форма на столько большая, что шаблон в размерах достигает в 1000+ строк , а в .ts-файле логика разрастается с каждым добавлением нового контрола ?

Dmitry Dreko
а если "часть чего-то" используется в другом месте...

Да, сам контроль формы или группу формы передать чайлду через Input() директиву. Повторяюсь, актуально только при dry.

Dmitry Dreko
а если форма на столько большая, что шаблон в раз...

сам работал в проекте где в одном компоненте число форм могло достигать 100. в среднем 30-50 форм. у нас логика размещалась на бэке, т.е. валидаторы и форма менялась после сабмита. были хэлпер функции и отдельный формгенератор файл

Я разбивал на форму на несколько маленьких, через ControlValueAccessor interface

Юра 🪐
Внутри них делал валидацию

Так же создал отдельный сервис класс, в котором создается форма, и стримы всяки в моем случае калькуляции

а) не делать огромных форм б) делать пошаговое заполнение формы в) использовать динамические формы

Smooth Operator
а) не делать огромных форм б) делать пошаговое зап...

выносить контролы со своей логикой в cva компоненты

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта