Spec-Zone.ru › Angular

RouterLinkWithHref

При применении к элементу шаблона этот элемент становится ссылкой, инициирующей переход к маршруту. При переходе один или несколько компонентов маршрута отображаются в одном или нескольких расположениях <router-outlet> на странице.

API

class RouterLinkWithHref implements OnChanges ,OnDestroy {
  constructor(router: Router, route: ActivatedRoute, tabIndexAttribute: string | null | undefined, renderer: Renderer2, el: ElementRef<any>, locationStrategy?: LocationStrategy | undefined): RouterLink;
   get href(): string | null;
  @Input() get target(): string | undefined;
  @Input() get queryParams(): Params | null | undefined;
  @Input() get fragment(): string | undefined;
  @Input() get queryParamsHandling(): QueryParamsHandling | null | undefined;
  @Input() get state(): { [k: string]: any; } | undefined;
  @Input() get info(): unknown;
  @Input() get relativeTo(): ActivatedRoute | null | undefined;
  @Input() get preserveFragment(): boolean;
  @Input() get skipLocationChange(): boolean;
  @Input() get replaceUrl(): boolean;
  @Input() browserUrl: InputSignal<string | UrlTree | undefined>;
  @Input() set routerLink(value: string | readonly any[] | UrlTree | null | undefined);
  readonly urlTree: UrlTree | null;
}

constructor

RouterLink
@paramrouterRouter
@paramrouteActivatedRoute
@paramtabIndexAttributestring | null | undefined
@paramrendererRenderer2
@paramelElementRef<any>
@paramlocationStrategyLocationStrategy | undefined
@returnsRouterLink

href

string | null

Представляет значение атрибута href, применённое к элементу-хосту, если элемент-хост является тегом <a>/<area> или совместимым пользовательским элементом. Для других тегов значение равно null.

href

string | null

target

string | undefined

Представляет атрибут target элемента-хоста. Используется только в том случае, если элемент-хост является тегом <a>/<area> или совместимым пользовательским элементом.

target

string | undefined

queryParams

Params | null | undefined

Передаётся в Router#createUrlTree как часть UrlCreationOptions.

queryParams

Params | null | undefined

fragment

string | undefined

Передаётся в Router#createUrlTree как часть UrlCreationOptions.

fragment

string | undefined

queryParamsHandling

QueryParamsHandling | null | undefined

Передаётся в Router#createUrlTree как часть UrlCreationOptions.

queryParamsHandling

QueryParamsHandling | null | undefined

state

{ [k: string]: any; } | undefined

Передаётся в Router#navigateByUrl как часть NavigationBehaviorOptions.

state

{ [k: string]: any; } | undefined

info

unknown

Передаётся в Router#navigateByUrl как часть NavigationBehaviorOptions.

info

unknown

relativeTo

ActivatedRoute | null | undefined

Передаётся в Router#createUrlTree как часть UrlCreationOptions. Укажите здесь значение, если не хотите использовать значение по умолчанию для routerLink — текущего активированного маршрута. Обратите внимание: значение undefined будет использовать значение по умолчанию для routerLink.

relativeTo

ActivatedRoute | null | undefined

preserveFragment

boolean

Передаётся в Router#createUrlTree как часть UrlCreationOptions.

preserveFragment

boolean

skipLocationChange

boolean

Передаётся в Router#navigateByUrl как часть NavigationBehaviorOptions.

skipLocationChange

boolean

replaceUrl

boolean

Передаётся в Router#navigateByUrl как часть NavigationBehaviorOptions.

replaceUrl

boolean

browserUrl

InputSignal<string | UrlTree | undefined>

Передаётся в Router#navigateByUrl как часть NavigationBehaviorOptions.

routerLink

string | readonly any[] | UrlTree | null | undefined

Команды, передаваемые в Router#createUrlTree, или UrlTree.

  • массив: команды, передаваемые в Router#createUrlTree.
  • строка: сокращённая форма массива команд, содержащего только эту строку, то есть ['/route']
  • UrlTree: UrlTree для этой ссылки вместо создания дерева из команд и других входных данных, соответствующих свойствам UrlCreationOptions.
  • null|undefined: фактически отключает routerLink

urlTree

UrlTree | null

Описание

При применении к элементу шаблона этот элемент становится ссылкой, инициирующей переход к маршруту. При переходе один или несколько компонентов маршрута отображаются в одном или нескольких расположениях <router-outlet> на странице.

Если задана конфигурация маршрута [{ path: 'user/:name', component: UserCmp }], следующий код создаёт статическую ссылку на маршрут: <a routerLink="/user/bob">link to user component</a>

Для создания ссылки можно использовать динамические значения. Для динамической ссылки передайте массив сегментов пути, а затем параметры для каждого сегмента. Например, ['/team', teamId, 'user', userName, {details: true}] создаёт ссылку на /team/11/user/bob;details=true.

Несколько статических сегментов можно объединить в один термин и комбинировать с динамическими сегментами. Например, ['/team/11/user', userName, {details: true}]

Входные данные ссылки рассматриваются как разница относительно текущего URL. Например, предположим, что текущий URL — /user/(box//aux:team). Ссылка <a [routerLink]="['/user/jim']">Jim</a> создаёт URL /user/(jim//aux:team). Подробнее см. в разделе Router#createUrlTree.


Экспортировано из

  • RouterModule

Примечания по использованию

В ссылке можно использовать абсолютные или относительные пути, задавать параметры запроса, управлять их обработкой и сохранять историю состояний навигации.

Относительные пути ссылок

Перед именем первого сегмента можно указать /, ./ или ../.

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

Задание и обработка параметров запроса и фрагментов

Следующая ссылка добавляет параметр запроса и фрагмент в созданный URL:

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

По умолчанию директива создаёт новый URL с указанными параметрами запроса. В примере создаётся ссылка: /user/bob?debug=true#education.

Можно указать директиве другой способ обработки параметров запроса, задав в ссылке параметр queryParamsHandling. Допустимые значения:

  • 'merge': объединяет заданные queryParams с текущими параметрами запроса.
  • 'preserve': сохраняет текущие параметры запроса.

Например:

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

queryParams, fragment, queryParamsHandling, preserveFragment и relativeTo нельзя использовать, если входное значение routerLink — это UrlTree.

См. UrlCreationOptions#queryParamsHandling.

Сохранение истории навигации

Можно указать значение state, которое будет сохранено в свойстве History.state объекта History браузера. Например:

<a [routerLink]="['/user/bob']" [state]="{tracingId: 123}">
  link to user component
</a>

Используйте Router#currentNavigation, чтобы получить сохранённое значение состояния навигации Signal. Например, чтобы зафиксировать tracingId во время события NavigationStart:

// Get NavigationStart events
router.events.pipe(filter(e => e instanceof NavigationStart)).subscribe(e => {
  const navigation = router.currentNavigation();
  tracingService.trace({id: navigation.extras.state.tracingId});
});

Пользовательские элементы, совместимые с RouterLink

Чтобы пользовательский элемент работал с routerLink, он должен реализовать атрибут href и включать href в массив статического свойства/геттера observedAttributes.

Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/router/RouterLinkWithHref

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API