за помощь спасибо я так понял не лучший вариант пушить в сервис а из него доставать в конкретном случае
Если вы хотите чтобы у вас в разных компонентах были консистентные данные из одного массива (в данном случае из одного Subject), то в сервисе создаете subject и туда пушите данные и в компонентах подписываетесь на него. Если вам нужные разные данные (разные массивы), то это разные subject
Извините за глупый вопрос, если сервис provided in root,то когда для двух компонентов объявляешь в конструкторе этот сервис,то будет создаваться два отдельных instance сервиса или singleton будет?
Извините за глупый вопрос, если сервис provided in root,то когда для двух компонентов объявляешь в конструкторе этот сервис,то будет создаваться два отдельных instance сервиса или singleton будет?
Для каждого компонента создастся свой инжектор с сервисом, поэтому в каждом компоненте будет свой инстанс сервиса. providedIn: 'root' нужен если вы хотите использовать один инстанс сервиса между компонентами.
Для каждого компонента создастся свой инжектор с сервисом, поэтому в каждом компоненте будет свой инстанс сервиса. providedIn: 'root' нужен если вы хотите использовать один инстанс сервиса между компонентами.
то есть при prov. root, даже если объявляешь в конструкторах (service:Service) дважды, это будет одна и та же сущность сервиса?
то есть при prov. root, даже если объявляешь в конструкторах (service:Service) дважды, это будет одна и та же сущность сервиса?
Даже если вы напишите providedIn: 'root' в декораторе сервиса и потом этот сервис запишите в провайдеры компонентов, то для каждого компонента создастся свой инстанс. Обычно либо пишут providedIn: 'root' и используют один инстанс сервиса между любыми компонентами, либо не пишут вообще, просто
@Injectable()
и тогда провайдят сервис в providers компонентов или модулей