Size: a a a

Angular - русскоговорящее сообщество

2021 March 05

VR

Vladislav Rudenua in Angular - русскоговорящее сообщество
в ответе приходит один элемент, а пушит в массив два почему-то
источник

VR

Vladislav Rudenua in Angular - русскоговорящее сообщество
источник

VR

Vladislav Rudenua in Angular - русскоговорящее сообщество
источник

VR

Vladislav Rudenua in Angular - русскоговорящее сообщество
источник

VR

Vladislav Rudenua in Angular - русскоговорящее сообщество
источник

СГ

Сергей Гурко... in Angular - русскоговорящее сообщество
Скорее всего при tap вы пушите в один и тот же массив? В createItem тоже происходит пуш в этот массив?
источник

VR

Vladislav Rudenua in Angular - русскоговорящее сообщество
оно пошут в массив но
источник

VR

Vladislav Rudenua in Angular - русскоговорящее сообщество
в каждый компонент типо пушит
источник

VR

Vladislav Rudenua in Angular - русскоговорящее сообщество
за помощь спасибо я так понял не лучший вариант пушить в сервис а из него доставать в конкретном случае
источник

VR

Vladislav Rudenua in Angular - русскоговорящее сообщество
наверное
источник

СГ

Сергей Гурко... in Angular - русскоговорящее сообщество
Vladislav Rudenua
за помощь спасибо я так понял не лучший вариант пушить в сервис а из него доставать в конкретном случае
Если вы хотите чтобы у вас в разных компонентах были консистентные данные из одного массива (в данном случае из одного Subject), то в сервисе создаете subject и туда пушите данные и в компонентах подписываетесь на него. Если вам нужные разные данные (разные массивы), то это разные subject
источник

VR

Vladislav Rudenua in Angular - русскоговорящее сообщество
Спасибо
источник

r

readme.md in Angular - русскоговорящее сообщество
Есть проще способ? http.get(‘url’).pipe(tap(res => { someSubject.next(res) })) прокинуть ответ в другой сабжект после ответа
источник

P

Parrot in Angular - русскоговорящее сообщество
источник

DA

Dariga Abdikarimova in Angular - русскоговорящее сообщество
Извините за глупый вопрос, если сервис provided in root,то когда для двух компонентов объявляешь в конструкторе этот сервис,то будет создаваться два отдельных instance сервиса или singleton будет?
источник

r

readme.md in Angular - русскоговорящее сообщество
Инстанс создается при объявлении в provider
источник

СГ

Сергей Гурко... in Angular - русскоговорящее сообщество
Dariga Abdikarimova
Извините за глупый вопрос, если сервис provided in root,то когда для двух компонентов объявляешь в конструкторе этот сервис,то будет создаваться два отдельных instance сервиса или singleton будет?
Для каждого компонента создастся свой инжектор с сервисом, поэтому в каждом компоненте будет свой инстанс сервиса. providedIn: 'root' нужен если вы хотите использовать один инстанс сервиса между компонентами.
источник

DA

Dariga Abdikarimova in Angular - русскоговорящее сообщество
Сергей Гурко
Для каждого компонента создастся свой инжектор с сервисом, поэтому в каждом компоненте будет свой инстанс сервиса. providedIn: 'root' нужен если вы хотите использовать один инстанс сервиса между компонентами.
то есть при prov. root, даже если объявляешь в конструкторах (service:Service) дважды, это будет одна и та же сущность сервиса?
источник

СГ

Сергей Гурко... in Angular - русскоговорящее сообщество
Dariga Abdikarimova
то есть при prov. root, даже если объявляешь в конструкторах (service:Service) дважды, это будет одна и та же сущность сервиса?
Даже если вы напишите providedIn: 'root' в декораторе сервиса и потом этот сервис запишите в провайдеры компонентов, то для каждого компонента создастся свой инстанс. Обычно либо пишут providedIn: 'root' и используют один инстанс сервиса между любыми компонентами, либо не пишут вообще, просто
@Injectable()
и тогда провайдят сервис в providers компонентов или модулей
источник

СГ

Сергей Гурко... in Angular - русскоговорящее сообщество
Например полезно записать сервис просто
@Injectable()
и потом его поместить в providers lazy модуля, чтобы инстанс сервиса создался когда lazy модуль подгрузится
источник