Angular Применение. Перейдите к различным компонентам на основе триггера (императив или popstate) для того же пути в маршрутах - PullRequest
0 голосов
/ 11 апреля 2020

Angular Приложение - у меня есть компонент P, у которого есть кнопка с маршрутом маршрутизатора для доступа к компоненту C (обязательный триггер). Как я могу перейти к другому компоненту, если пользователь манипулирует URL-адресом непосредственно в браузере (триггере popstate) вместо навигации по компоненту P.

Как добиться другого поведения для того же маршрута, но другого механизма триггера?

1 Ответ

0 голосов
/ 20 апреля 2020

Я получил решение, когда мы нажимаем на ссылку роутера, мы можем проверить свойство navigStart роутера и узнать, является ли триггер навигации императивным или popstate или hashChange . В случае popstate - он напрямую попадает из браузера. В случае императив - попадание происходит изнутри самого приложения. Таким образом, я могу поместить guard (canActivate ()) в ссылку на маршрутизатор, чтобы проверить, какой это триггер, и контролировать поведение URL.

Примечание: - триггер hashChange Я не очень осведомлен о том, как это происходит. (Если кто-то знает, внесите свой вклад)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...