Size: a a a

2019 December 10

AS

Alex S in Angular Kyiv
да, я его юзаю, чтоб урл собрать в вид
{
 url: string;
 params: Params;
 queryParams: Params;
 data: any;
}
источник

AS

Alex S in Angular Kyiv
как варик, моно еще в data добавлять какой-то уник. значение. Но это придётся делать везде, чего не хочется
источник

VL

Vitalii Lev 🦁 in Angular Kyiv
просто можно попробовать разпарсить и проверить последний сегмент урлы и если последний - 'users' то вроде то что надо, не?
источник

G

George in Angular Kyiv
Alex S
> или в том текущем стейте в rout….
еще не включены, но могут быть добавлены


> Привет, почему нельзя заиспользовать regex для проверки?
мысль интересная и сразу в голову не пришла. Немного пораскинув мозгами, появился вопрос: ок, список пользователей на /users?page=123 я еще возьму. И нуно будет добавлять  отдельную проверку на`/users/123`, чтоб притянуть юзера с идом 123. Всё правильно понимаю?


А есть как-то способ описать кейсы роута /users и /users/:id ?  Чтоб в одной функции. И я потом бы передавал строку эту и функция сама всё разруливала. Как вариант, моно сначала сделать проверку на /users/:id, а потом делать проверку на users, но вдруг кто-то этим уже занимался
Как по мне урлу парсить - так себе затея. может посмотреть в сторону RouterState и запускать поиск только если нужный роут самый последний лист?
источник

AS

Alex S in Angular Kyiv
George
Как по мне урлу парсить - так себе затея. может посмотреть в сторону RouterState и запускать поиск только если нужный роут самый последний лист?
не пойму до конца “самый последий лист”. Можешь подробнее? Моно ссылкой
источник

G

George in Angular Kyiv
Alex S
не пойму до конца “самый последий лист”. Можешь подробнее? Моно ссылкой
там дерево и нужно писать обход по нему
источник

AS

Alex S in Angular Kyiv
что-то вроде такого?
while (route.firstChild) {
 route = route.firstChild;
}

в сериалайзере используется
источник

A

Antony in Angular Kyiv
Alex S
> или в том текущем стейте в rout….
еще не включены, но могут быть добавлены


> Привет, почему нельзя заиспользовать regex для проверки?
мысль интересная и сразу в голову не пришла. Немного пораскинув мозгами, появился вопрос: ок, список пользователей на /users?page=123 я еще возьму. И нуно будет добавлять  отдельную проверку на`/users/123`, чтоб притянуть юзера с идом 123. Всё правильно понимаю?


А есть как-то способ описать кейсы роута /users и /users/:id ?  Чтоб в одной функции. И я потом бы передавал строку эту и функция сама всё разруливала. Как вариант, моно сначала сделать проверку на /users/:id, а потом делать проверку на users, но вдруг кто-то этим уже занимался
Ну да, у тебя ж логика разная. Одна проверка для всех юзеров и отдельная для конкретного, например
/users\/[0-9a-zA-Z]{цыфра длинны айди}$/.test('/users/1f6c841cdcd74454be98757e06d85cc2')
Но вариант от @GeorgeBorzilov предпочтительней
источник

AS

Alex S in Angular Kyiv
Vitalii Lev 🦁
просто можно попробовать разпарсить и проверить последний сегмент урлы и если последний - 'users' то вроде то что надо, не?
не, т.к. не покроет кейс с /users/123 и загрузить конкретного юзера, а не список юзеров
источник

VL

Vitalii Lev 🦁 in Angular Kyiv
так а разве в таком кейсе последний сегмент не будет '123' ?
источник

AS

Alex S in Angular Kyiv
Будет. А это юзер 123 или самолёт 123 ?

или я не так понимаю
источник

G

George in Angular Kyiv
Alex S
что-то вроде такого?
while (route.firstChild) {
 route = route.firstChild;
}

в сериалайзере используется
источник

VL

Vitalii Lev 🦁 in Angular Kyiv
ну блин) получаешь массив сегментов урлы и проверяешь ПОСЛЕДНИЙ и проверяеш на равенство с 'юзерс'
ну либо я не в курсе дополнительных моментов почему это не подходит)
источник

AS

Alex S in Angular Kyiv
а как вы дату тянете?
в компонентах вызываете экшн нужный?
источник

AS

Alex S in Angular Kyiv
Кароче я придумал крайне просто и сердито
Делаю какой-то enum, в нём - какие-то идентификаторы прутов
Дальше есть сериалайзер, который умеет вытягивать эту дату

Есть кастомнаыэя функция моя ofRoute(). Типо ofType()

Дальше я просто в эффекте буду сравнивать на совладение текущего роута с идентификатором и потом буду делать что надо)

А? Как вам?
источник

DG

Danil Gudz in Angular Kyiv
Alex S
Кароче я придумал крайне просто и сердито
Делаю какой-то enum, в нём - какие-то идентификаторы прутов
Дальше есть сериалайзер, который умеет вытягивать эту дату

Есть кастомнаыэя функция моя ofRoute(). Типо ofType()

Дальше я просто в эффекте буду сравнивать на совладение текущего роута с идентификатором и потом буду делать что надо)

А? Как вам?
в nx есть фича например на эффектах написанная которая вызывается при навигации (https://nx.dev/angular/guides/misc-data-persistence#data-fetching-on-router-navigation)
и глядя на использование тут опираются не на адрес урла, а на компонент
то есть не по /users фетчить че там нужно, а по UsersListComponent, ссылку на компонент то можно вытянуть когда ангуляр мэтчит роуты с компонентами
источник

AS

Alex S in Angular Kyiv
Danil Gudz
в nx есть фича например на эффектах написанная которая вызывается при навигации (https://nx.dev/angular/guides/misc-data-persistence#data-fetching-on-router-navigation)
и глядя на использование тут опираются не на адрес урла, а на компонент
то есть не по /users фетчить че там нужно, а по UsersListComponent, ссылку на компонент то можно вытянуть когда ангуляр мэтчит роуты с компонентами
Ссылка полезная. Спасибо. Скоро будем что-то думать с монорепо. До этого она ещё была готова для нашего юзкейса.. надеюсь, что тот момент исправлен


В целом, можно и по компоненте настроить сравнение с небольшими изменениями, думаю)
источник
2019 December 11

DM

Denis Martych in Angular Kyiv
Всем привет! кто-то может подсказать как запихнуть changeDetectorRef в service, что бы потом с компонента можно было его юзать?
источник

СБ

Сергій Бабіч in Angular Kyiv
servce.addCdRef(this.cdRef)?
источник

СБ

Сергій Бабіч in Angular Kyiv
Denis Martych
Всем привет! кто-то может подсказать как запихнуть changeDetectorRef в service, что бы потом с компонента можно было его юзать?
уточни, будь ласка, задачу
источник