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

Добрый вечер. 🅰️ Прошу совета со сторонних опытных ангулярщиков Есть модуль

который скомпоновал в себе несколько компонентов, сервисов и прочих сущностей для реализации некой фичи. Есть данные которые хранятся в виде behSub в *-data.service.ts, туда они приходят из *-http.service.ts.
Эти данные шарятся между компонентами этого модуля.
Вопрос следующий :
- имеет ли смысл подписываться в каждом компоненте на изменение стейта в сервисе или же прибегнуть к классическому варианту шаринга данных между компонентами , когда родитель подписывается на изменения стёйта и передаёт его в компоненты?
Если можно , то с пояснением когда можно делать так а когда так

16 ответов

26 просмотров

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

Или только один контейнер будет передавать инфу

Pavel-Shilkin Автор вопроса
Юра 🪐
Это зависит если ты хочешь делать все компоненты с...

Я хочу максимально упростить код, чтобы было как можно меньше подписок . Делать компоненты глупыми. Но опять таки я этим самым упускаю все прелести rxjs

Я бы все равно передавал через родителя, типа какой-нибудь <ng-container ngIf="data$ | async as data"> <c1 [data]="data"></> <c2 [data]="data"></>

Pavel Shilkin
Я хочу максимально упростить код, чтобы было как м...

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

Pavel-Shilkin Автор вопроса
Raman Yazvinski
Я бы все равно передавал через родителя, типа како...

В каких то случаях я вижу в этом необходимость а в каких-то излишний проп. Не могу определиться , не могу найти баланс 😂

Pavel-Shilkin Автор вопроса
Pavel Shilkin
Что значит не шарят родителя?

Точнее на примере шарят))

Pavel-Shilkin Автор вопроса
Raman Yazvinski
Я бы все равно передавал через родителя, типа како...

В случае если в стриме придёт 0 или false ngIf сработает и даже не передаст значение

Pavel-Shilkin Автор вопроса
Юра 🪐
Да))

Нашёл способ как это обойти) но вот опять таки , это меня не устраивает

Pavel Shilkin
В случае если в стриме придёт 0 или false ngIf сра...

Ну это образно, я завел себе let-директиву

Pavel-Shilkin Автор вопроса
Raman Yazvinski
Ну это образно, я завел себе let-директиву

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

Pavel Shilkin
Я хочу максимально упростить код, чтобы было как м...

какие именно прелести рхжс упускаются? :)

Pavel-Shilkin Автор вопроса
xxtux Shvets
какие именно прелести рхжс упускаются? :)

Свитчи мерджи комбайны мапы если условие по двум стримам идёт и прочее

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
22
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
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
Карта сайта