эти вещи нужно делать в онините. попробуйте там. получилось?
не, в ините тоже самое) справа был род компонент - поэтому он достучался до параметров, а слева был чайлд компонент.
я к тому что насколько я знаю в ангуляре все присваивание нужно делать в онините. начать с этого.
Видели бы вы весь проект))) вы бы там все снесли нахрен) да @DeKh98 ?
не обязательно. вообще редко чето в ините присваиваю
походу видел, сам на таком)
вот тут перлы по rxjs с твоего проекта? https://github.com/evoytenkoapps/angular-best-practices#rxjs
ага) https://www.wiredviews.com/news/2017/02/angular-tips-global-access-to-route-params как считаете? стоит использовать такой инструмент?
ну если нужно. у меня было что-то похожее. чаще не нужно
Просто мне ща нужен доступ к параметрам из сервиса - не из компонента получать параметр в компоненте и перебрасывать его в сервис не хочется а вот из сервиса достучаться до параметров не получается)
если уж так нужно, можно запровайдить сервис в компоненте и тогда они там будут. Но лучше именно передать из компонента, че в этом такого то
вот чувак получает роут в ините @xuxicheta https://ultimatecourses.com/blog/angular-constructor-ngoninit-lifecycle-hook
ну подписки да, в ините. Статья конечно из воды вся :)
просто проект большой) Ситуация такая - когда-то кто-то зачем-то записал тек ид в роут и в локал стораж - затем во всех сервисах при отправке запроса бэку начал брать ид из стоража - и все остальные пошли по его стопам - короче все сервисы работают с локал стораж и без разницы какой ид прописан в роуте есть один момент, который радует - в каждом сервисе есть метод, который возвращает ид из локал стораж - каждый запрос забирает ид из этого метода то есть если изменить источник в этом методе с локал стораж на роут - то все должно заработать как нужно ща уже сложно отследить все запросы с ид, чтоб перебрасывать из компонента
я бы первым делом отобрал у всех прямое общение с локал стораджем, чтоб все через отдельный интерфейс. Можно даже стейт.
я думаю в целом идея здравая. только проблема в том что в каждом роуте может быть нужен разный айди. не понятно где какой брать.
user/1 user/1/products/2 какой айди у первого урла и второго?
в 99% случаях нужен один и тот же - его думал брать по ключу из параметров во всех ид по всему проекту ключи разные
ща пришла одна по этому способу) посмотрим что получится) upd: идея оказывается плохая)
А что за идея была? Это поменять сторедж на роуты?
да не) сделать общий сервис, который будет возвращать ид - а при смене роута туда записывать ид - подумал - это ничего хорошего не даст
Если у вас появится второй айди, как писалось выше, то может очень неприятная ситуация
но если ключи разные - то путанницы же не будет?
Я этот способ немного скорректировал, получил нужный результат - теперь осталось во всех сервисах убрать локал стораж
Верно , надо было через state или через url
а можете просвятить насчет стейта?
сервис который ты хотел сделать это тот же стейт, только проще
под стейтом если че я имел в виду любое хранилище, хоть нгрх, акиту, нгсх, хоть сервисы.
Взял сервис как хранилище)
Вот вообще не понимаю для чего в каком то абстрактном компоненте, который не связан непосредственно с роутом, делать такие вещи
во многих местах перенес логику с конструктора (не мой код) в инит - консоль перестала быть красной 😂😂
В компоненте и директиве, как вам правильно подсказали, нужно такое в ngOnInit кидать.
скорее всего правило tslint настроено которое это проверяет
Обсуждают сегодня