Могу ли я прочитать значение параметра маршрута из `canActivate: AuthGuard`?

{
    path: ':l/bla/bla/bla', component: ..., canActivate: [AuthGuard]
}

Затем конструктор AuthGuard:

constructor(
    private readonly router: Router,
    private readonly activedRoute: ActivatedRoute) { }

... однако и .params, и .snapshot.params пусты, и оттуда нельзя прочитать значение параметра :l (сокращение от «язык»).

Итак, вопрос: как я могу перенаправить на другую страницу в случае несанкционированного доступа, имея на месте мой динамический :l?


P.S. data не работает (не так ли?), так как это нормально для известных данных времени компиляции, а не для динамических.


person Sereja Bogolubov    schedule 22.09.2018    source источник
comment
можешь добавить целиком AuthGuard?   -  person Ludevik    schedule 23.09.2018
comment
Проверьте это stackoverflow.com/a/45843291/4868839   -  person User3250    schedule 23.09.2018


Ответы (1)


canActivate(activatedRouteSnapshot: ActivatedRouteSnapshot) { ... }

решил проблему: параметр метода должен быть предпочтительнее, чем внедрение конструктора.

person Sereja Bogolubov    schedule 23.09.2018