RouterLink

Stable Directive

What it does

Lets you link to specific parts of your app.

How to use

Consider the following route configuration:

[{ path: 'user/:name', component: UserCmp }]

When linking to this user/:name route, you can write:

<a routerLink='/user/bob'>link to user component</a>

Class Overview

class RouterLink {
  constructor(router: Router, route: ActivatedRoute, locationStrategy: LocationStrategy)
  
  
  queryParams : {[k: string]: any}
  fragment : string
  preserveQueryParams : boolean
  preserveFragment : boolean
  routerLink 
  onClick(button: number, ctrlKey: boolean, metaKey: boolean) : boolean
  urlTree : UrlTree
}

Selectors

:not(a)[routerLink]

Class Description

The RouterLink directives let you link to specific parts of your app.

Whe the link is static, you can use the directive as follows:

<a routerLink="/user/bob">link to user component</a>

If you use dynamic values to generate the link, you can pass an array of path segments, followed by the params for each segment.

For instance ['/team', teamId, 'user', userName, {details: true}] means that we want to generate a link to /team/11/user/bob;details=true.

Multiple static segments can be merged into one (e.g., ['/team/11/user', userName, {details: true}]).

The first segment name can be prepended with /, ./, or ../:

  • If the first segment begins with /, the router will look up the route from the root of the app.
  • If the first segment begins with ./, or doesn't begin with a slash, the router will instead look in the children of the current activated route.
  • And if the first segment begins with ../, the router will go up one level.

You can set query params and fragment as follows:

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

RouterLink will use these to generate this link: /user/bob#education?debug=true.

You can also tell the directive to preserve the current query params and fragment:

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

The router link directive always treats the provided input as a delta to the current url.

For instance, if the current url is /user/(box//aux:team).

Then the following link <a [routerLink]="['/user/jim']">Jim</a> will generate the link /user/(jim//aux:team).

Constructor

constructor(router: Router, route: ActivatedRoute, locationStrategy: LocationStrategy)

Class Details

queryParams : {[k: string]: any}
fragment : string
preserveQueryParams : boolean
preserveFragment : boolean
routerLink
onClick(button: number, ctrlKey: boolean, metaKey: boolean) : boolean
urlTree : UrlTree

exported from @angular/router/index, defined in @angular/router/src/directives/router_link.ts

doc_Angular
2016-10-06 09:46:58
Comments
Leave a Comment

Please login to continue.