Навигация по маршрутам с помощью Angular | Кодементор

Эта статья является справочником по основным понятиям навигации по маршрутам с помощью Angular. Он включает введение в концепции, а также примеры и соответствующие ссылки на документацию.

Покрываемая версия Angular: версия 8.

Документация Angular отлично подходит для большей части этого, поэтому здесь она не повторяется. Предоставляется общее введение в каждую концепцию, а также любая информация, которую трудно найти.

Введение

Angular предоставляет два варианта активации маршрута. Внутри шаблонов routerLink а также routerLinkActive используются атрибуты. Внутри компонентов класс Router предоставляет navigate а также navigateByUrl.

Внутри шаблона routerLink атрибут можно использовать для любого элемента. Это делает этот элемент кликабельным, чтобы активировать указанный маршрут. Это часть МаршрутизаторМодулькоторый экспортируется вашим приложением конфигурация маршрутизатора, делая его доступным во всем приложении. Его можно использовать по аналогии с href в ссылках или путем передачи массива сегментов пути.

Лучшее место, чтобы узнать больше, это описание из документации API.

routerLink атрибут предоставляется Директива RouterLinkWithHref (за <a> или же <area>) и Директива RouterLink (для всего остального). Отличие заключается в поддержке href а также target атрибуты.

Соответствующая документация

Примеры

<div routerLink="/crisis-center">Crisis Center</div>

<a routerLink="['/team', teamId, 'user', userName, {details: true}]">Heroes</a>

<a [routerLink]="['/user/bob']" [queryParams]="{debug: true}" fragment="education">
  link to user component
</a>

<a [routerLink]="['/user/bob']" preserveQueryParams preserveFragment>
  link to user component
</a>

Атрибут «routerLinkActive»

Чтобы стилизовать ссылки маршрутизатора на текущий активный маршрут, routerLinkActive предоставляется атрибут. Он принимает одно или несколько имен классов, которые будут переключаться на элемент, когда его routerLink указывает на активный маршрут. Родительские маршруты будут отображаться как активные для дочерних маршрутов. Это поведение можно отключить с помощью routerLinkActiveOptions и настройка {exact: true}.

Лучшее место, чтобы узнать больше, это описание из документации API.

routerLinkActive атрибут предоставляется Директива RouterLinkActive. Он доступен в вашем приложении так же, как routerLink.

Соответствующая документация

Примеры

<a routerLink="/user/bob" routerLinkActive="active-link">Bob</a>

<a routerLink="/user/bob" routerLinkActive="class1 class2">Bob</a>

<a routerLink="/user/bob" [routerLinkActive]="['class1', 'class2']">Bob</a>

<a routerLink="/user/bob" routerLinkActive="active-link" [routerLinkActiveOptions]="{exact: true}">Bob</a>

<a routerLink="/user/bob" routerLinkActive #rla="routerLinkActive">
  Bob {{ rla.isActive ? '(already open)' : ''}}
</a>

<div routerLinkActive="active-link" [routerLinkActiveOptions]="{exact: true}">
  <a routerLink="/user/jim">Jim</a>
  <a routerLink="/user/bob">Bob</a>
</div>

Класс маршрутизатора

Класс маршрутизатора предоставляет два метода для активации нового маршрута — ориентироваться а также Навигация по URL.

navigateByUrl метод используется для активации маршрута на основе массива команд. navigateByUrl метод используется для активации маршрута на основе URL-адреса в виде строки или URL-дерево. В обоих случаях можно использовать второй аргумент для указания НавигацияДополнительно.

Соответствующая документация

Примеры

router.navigate(['team', 33, 'user', 11]);

router.navigate(['team', 33, 'user', 11], { skipLocationChange: true });

router.navigateByUrl("/team/33/user/11");

router.navigateByUrl("/team/33/user/11", { skipLocationChange: true });

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *