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

Хочу часть логики перенести в суперкласс, и унаследовать несколько очень

похожих компонентов. В них есть ViewChild - можно ли как-то передать значение в суперкласс? super(this.blaBlaBla) - не работает, пишет, что this может не существовать на момент инициализации. Как тогда быть?

10 ответов

22 просмотра

Объявите viewChild в суперклассе абстрактным и используйте

едрить вы извращенец

Не нужно наследовать компоненты

Oleg Safonov
Не нужно наследовать компоненты

Почему нет, допустим у меня есть шаред форм-филд компонент, который рендерит селект, текст-инпут или дейт-инпкт в соответствии от переданного в конструктор type: FieldType, кроме тайп можно передать другие конфиги для этого поля . Этот компонент можно наследовать и создать отдельные компоненты просто передавая конфигурацию в него. Это поможет уменьшить время разработки новых полей и т.д..

Семен Марциновський
Почему нет, допустим у меня есть шаред форм-филд к...

Потому что огребете багов и усложните разработку. Компоненты очень сильно связаны будут

Семен Марциновський
Почему нет, допустим у меня есть шаред форм-филд к...

Наследование = ограничение по апи и отсутствие нормальной типизации

Oleg Safonov
Потому что огребете багов и усложните разработку. ...

Все типизировано, какие баги, разработка наоборот упростится, как я писал выше. High каплинга не будет, так как это шейрд компонент, который саппортит в создании шейрд компонентов. Я бы его даже поместил на слой ниже(назовем его basic слой)

Семен Марциновський
Почему нет, допустим у меня есть шаред форм-филд к...

Может быть оправдано, если это приводит к лёгкому апи, что даже джунишки-мальчишки будут шлёпать легко, после непродолжительной подготовки

Pavel-Pogorelov Автор вопроса
Ivan Frolkin
Может быть оправдано, если это приводит к лёгкому ...

В целом это частично как раз мой кейс - я делаю компонент, дальше на его основе по образу и подобию делаются другие компоненты, и получается много копипасты. Что было возможно - вынесено в сервисы, но хотелось бы ещё повыносить

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
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
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта