которые хранятся в локал стоадже (приходят с бека при загрузке первой приложения). и очень большая проблема чтобы эти настройки передать всем сервисам и компонентам..для этого я создал сабжекты (допустим сабжект валюты) и при изменении валюты я рассылаю его везде..но при изменении валюты приложение перезапускается полностью и новую валюту можно уже брать из стораджа..
проблема моя в том что мне этот сервис валюты приходится везде инжектить чтобы сабжекты подрубить для передачи начальных настроек...но это создаёт избыточность кода + циркулярные зависиомости..моя задача просто передать начальные настройки с бека по всем сервисам (если допустим они не установлены). можно ли как то проще сообщить приложению что нужно ждать настроек в сторадже а потом действовать (взять их оттуда)?
Вообще странно, Вам точно нужно ВЕЗДЕ эти настройки получить? Непонятно как циклические зависимости получаются, если это сервису условной валюты ничего не нужно.
ну и получается это нормально через сабжекты делать?
нормально создать сервис, у которого наружу торчит Observable (внутри сабджект, но наружу не выставляйте его). Непонятно почему он Вам прямо везде нужен, вероятно, этот момент стОит обдумать,)
ну вот пример! для получения продуктов нужна валюта для заказа валюта для корзины валюта
без примера не понятно
export class MyService { private currencySubject = new Subject(); public currency$: Observable<Currency> = this.currencySubject.asObservable(); } Типа такого, внутри сервиса можете в сабджект что угодно записать, но наружу торчит только observable
а какая цель такого усложнения
чтоб отдать наружу данные только для просмотра, а не для изменения. Если отдадите наружу сабджект - его кто угодно может изменить
Обсуждают сегодня