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

Есть так называемые "документы" (формы для заполнения и т.д.). В

данный момент их 3 типа всего. Единственное что их различает - +- несколько полей, все остальное практически одинаково.
При открытии модалки, в data я передаю documentId, и documentType. В самой модалке у меня
1) панель с кнопками (универсальная для всех компонентов, находится в родительском компоненте).
2) компонент, в зависимости от того какой documentType был передан (в данный момент всего 3 компонента)
2.1) компонент с формой для заполнения данными
2.2) компонент с таблицей
И вот теперь вопросы:
1. Для каждого типа документа я создаю отдельный компонент, в который из сервиса получаю данные и через @Input() передаю их в форму и таблицу. Правильный ли такой подход, или же лучше в компоненте с формой и таблицей через сервис получать данные?
2. Для того чтобы вернуть данные обратно в родительский компонент, использую @ViewChild или @Output(). Может быть проще возвращать данные через service (еще не знаю каким образом точно)??
3. В данный момент кнопки, активны или не активны, в зависимости коректные ли данные. Для этого я постоянно делаю проверки, из-за чего иногда может возникать ошибка ExpressionChangedAfterItHasBeenCheckedError (как писал рание, и уже практически разобрался). Как еще можно реализовать проверки на корректность?
4. Правильный ли такой подход в целом? Ведь у меня 1 модалка, в которой просто выбирается нужный компонент. Может проще для каждого документа создавать свои модалки? Но тогда больше файлов и сам модуль будет больше.
Буду благодарен за любую помощь)))

1 ответов

12 просмотров

1. Лучше разбивать компоненты на обособленные кирпичики, и если есть возможность, то конфигурировать конкретный тип этими компонентами. Например, можно реализовывать компоненты адаптеры между конкретным контрактом документа и конкретным компонентом, который отображает "таблицу". Эти адаптеры по большей части должны быть обособленными. 2. В случае, если необходимо воздействовать с родительским компонентом, то Output предпочтительнее. Выходит немного больше кода, но зато прекрасно видно связи между компонентами. 3. Нужен более конкретный пример, где возникает данная ошибка. Но отмечу, что если используется полностью реактивный подход, то такая ошибка не будет встречаться. 4. Иметь единый компонент для отображения любого типа сущности - хороший подход.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
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...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
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
Карта сайта