В нашем приложении есть несколько маршрутов, по которым пользователь не должен перемещаться, напрямую вводя их URL-адреса в адресную строку браузера.
Вместо этого мы хотим сделать их доступными только тогда, когда мы программно перемещаемся с помощью router.navigate()
по логике нашего приложения.
Используя защиту Angular CanActivate
, есть ли какой-то флаг или атрибут, который мы могли бы использовать, чтобы различать эти два случая:
Доступ к маршруту осуществляется напрямую, поскольку пользователь ввел
/no/direct/access
в адресную строку.Доступ к маршруту осуществляется через
router.navigate(['/', 'no', 'direct', 'access'])
(который, в свою очередь, может быть вызван другим сторожем, поэтомуrouter.navigated
, к сожалению, здесь не помогает)