Size: a a a

2021 April 22

DG

Danil Gudz in Angular Kyiv
имхо без онпуш - не всегда плохо) я бы представлял таких чайлдов не как reusable компоненты которым было бы хорошо онпуш, а просто как одноразовые компоненты для разделения логики и без онпуша, думаю норм, просто представив что весь код чайлдов мог находиться в родителе и отрабатывать, а мы просто раскидали чтоб инкапсулировать стили и логику по блокам, а CD так и быть пусть лопатит, ну, это как по мне))
источник

DG

Danil Gudz in Angular Kyiv
а есть какой-то пример “если юзать мат-диалог - то в нем поле с формой без онпуш может вести себя по разному”?
источник

DG

Danil Gudz in Angular Kyiv
а то чуть не выкупил))
источник

IK

Igor Kurkov in Angular Kyiv
приходит в голову только какой то враппер компонент для формы, чтоб в нем уже был функционал для сабжекта, и в нее контент прожекшеном бросать чайлдовые компоненты инпутов, и так все в онпуш чтоб такой франкенштейн заработал. а то если без DRY  просто везде расписывать сабжект под каждую форму это треш имхо. но и франкенштейнов городить с прожекшеном не хочется)) потом дебажить это все больно)
источник

IK

Igor Kurkov in Angular Kyiv
мат-диалог, в нем компонент с формой и полем из юай кита (чайлдовые-инпуты-компоненты). вроде ничего особенного, но если он вызывается с большим количеством таких инпутов - то может перформанс хромать. на онпуше все гуд. в этом и причина вопроса
источник

DG

Danil Gudz in Angular Kyiv
перфоманс в какой момент хромает? просто мне казалось что на тяжелых модалках перфоманс ток при инициализации хромает что подлагивая появляется, но тут онпуш вообще не может быть при чем) потому что при инициализации все равно все прогоняется
источник

IK

Igor Kurkov in Angular Kyiv
не углублялся в инит модалок - но при тайпинге в поле подтормаживает тайпинг. бесит. именно в модалках. может надо свою модалку написать и не юзать матириаловскую, но думаю гдето все таки мой завтык
источник

IK

Igor Kurkov in Angular Kyiv
на больших формах видел в проектах покрытых полностью ngrx похожую историю, где 40 полей - тоже тормозят. без модалок.
источник

IK

Igor Kurkov in Angular Kyiv
а еще вопрос - вообще, как практика - подписываться на EventEmitter? это плохо? или ок?
источник

IK

Igor Kurkov in Angular Kyiv
нашел workaround, может кому то пригодится. Можно подписаться в child компоненте на EventEmitter ngSubmit, и отловить :)
this.form.ngSubmit.subscribe(ok => {
     this.cdr.markForCheck();
});

@danilgudz @vokilam спасибо за участие 🙌🤝💪
источник

AO

Alex Orlovsky in Angular Kyiv
очень редко, но практикую. норм, как по мне. например, если на аутпуте надо делать запрос со свичмапом, то вместо создания сабджекта в своём компоненте и некстинга в него можно подписаться напрямую на аутпут через вьючайлд
источник

IK

Igor Kurkov in Angular Kyiv
класс) можно кусок кода посмотреть? то есть вьючайлд компонента у которого аутпут?
источник

AO

Alex Orlovsky in Angular Kyiv
реальный не найду, но могу на стекблитц что-то написать, если надо) про вьючайлд да, правильно
источник

IK

Igor Kurkov in Angular Kyiv
надо попробовать. костыльно звучит, но как решение круто, неочевидно)
источник

AO

Alex Orlovsky in Angular Kyiv
я сегодня впервые увидел ещё более крутое и неочевидное решение)) как аутпут сделан
https://stackblitz.com/edit/rxjs-challenge-15-solution?file=src/app/focus-type.directive.ts
источник

IK

Igor Kurkov in Angular Kyiv
жестяяяк))) интересно, не будет ли тут в многочисленных местах утечки памяти) может ошибаюсь, но стремно
источник

AO

Alex Orlovsky in Angular Kyiv
обычный же поток. если не забывать отписываться, то вроде не должно быть проблем. можно в этой же директиве повесить тейкАнтил на дестрой, чтоб наверняка
источник
2021 April 23

DG

Danil Gudz in Angular Kyiv
Красиво)
источник

s

southern accent in Angular Kyiv
Добрый день , есть приложение, мне нужно создать файл конфигурации от которого будет зависеть разметка — количество разделов и некоторые имена в разметке . Конфиг который я смогу поместить в gitignor что б по разному конфигурировать однотипное приложение на разных серверах . (не система ролей для юзеров) . Как это можно сделать ?
источник

DG

Danil Gudz in Angular Kyiv
environment не подходит?
источник