Angular router - Получить Target-URL текущего процесса навигации - PullRequest
0 голосов
/ 27 июня 2019

У меня есть NG-модуль с вложенной маршрутизацией.

  • Main.module с main.component
  • Sub.module с sub.component

Пути выглядят так: http://domain/mainroute/nestedroute

Теперь в субкомпоненте 1014 * я хочу принять решение о перенаправлении на основе предоставленного целевого URL-адреса (путем пользовательского или внешнего перенаправления). Поэтому, если пользователь выбирает вложенный маршрут напрямую, я хочу проверить, пропустил ли я его или перенаправил ли он в другое место. Для этого мне нужно выяснить URL, который был введен при инициализации sub.component .

Однако в sub.component:

constructer(private router: Router){
    console.log(this.router.url)
}

журнал возвращает http://domain/mainroute даже при том, что http://domain/mainroute/nestedroute был введен и направлен на. Это может быть связано с тем, что процесс навигации запускает конструктор sub.component перед дальнейшей маршрутизацией.

Теперь вопрос: как я могу получить доступ к полному маршруту в этой точке?

1 Ответ

0 голосов
/ 27 июня 2019

Используйте ActivatedRoute для получения пути:

constructer(private router: Router,
            private activatedRoute: ActivatedRoute){
   console.log(activatedRoute.snapshot.url[0].path);
}
...