Преобразовать внутренний URL, чтобы действовать аналогично routerlink - PullRequest
0 голосов
/ 15 мая 2019

Я получаю HTML от моего API, который отображается внутри моего углового шаблона. Он содержит URL, которые ссылаются на другие маршруты в моем приложении. Пример:

http://localhost:4200/some/component?query=somethingelse&foo=bar

# or preferably
/some/component?query=somethingelse&foo=bar

Если я нажму на него, по умолчанию он перезагружает приложение во время маршрутизации.

Я хочу перенаправить только маршрут, как [routerLink], то есть без обновления страницы. Я попытался добавить метод щелчка, который вызывает this.route.navigate, но мне нужно вручную проанализировать строки запроса (или использовать библиотеку), чтобы заставить его работать.

Я надеялся, что у angular есть лучший способ сделать это. В противном случае также приветствуется любое другое решение.

1 Ответ

0 голосов
/ 15 мая 2019

удалите обратную косую черту и используйте ее как ссылку на маршрутизатор routerLink = "некоторые / компонент? ххххх" При использовании routerLink вы можете использовать несколько вариантов, особенно для статических ссылок.

Пожалуйста, обратитесь к документации API для получения дополнительной информации здесь:

https://angular.io/api/router/RouterLink

Конкретно в вашем случае эта порция:

Имя первого сегмента может начинаться с /, ./ или ../:

.

Если первый сегмент начинается с /, маршрутизатор будет искать маршрут из корня приложения. Если первый сегмент начинается с ./ или не начинается с косой черты, маршрутизатор вместо этого будет искать дочерние элементы текущего активированного маршрута. И если первый сегмент начинается с ../, маршрутизатор поднимется на один уровень вверх.

Также не забывайте, что если вы запускаете это в dev на localhost, маршрут будет работать нормально, однако, если вы создаете приложение, маршрут выдаст ошибку. Ссылка на маршрутизатор - это не полные ссылки (отсюда и одностраничное приложение), вам нужно либо сопоставить маршруты на сервере, либо не забыть добавить #

RouterLink будет использовать их для генерации этой ссылки: / user / bob # education

...