у пользователя не хватает прав(guard в этом случае просто запрещает переход). Для этого в компоненте обёртке подписываюсь на router.events. При изменении роута производится проверка в зависимости от meta информации в роуте и если нужно подставляется заглушка.
Проблема в том что router.events отдает все события в том числе изменения дочерних роутов. На которые также делается проверка, и запрет на переход на глубоко вложенный роут приводит к выставлению заглушки на корневом уровне.
И собственно мой вопрос в том, как можно получить/отфильтровать изменения только роута текущего уровня(например корневого routing module в app-component)?
Почем гарды не подходят, там можно navigate сделать на роут-загрушку, типа no-access или с версии 7 теперь с гарды canActivate можно возвращать UrlTree, этот твой роут куда стоит перенаправить. Имхо, это проще и чище, чем городить с подписками на router.events https://juristr.com/blog/2018/11/better-route-guard-redirects/
Обсуждают сегодня