route navigate link example javascript angular angular2-routing

javascript - link - Angular 2 router.navigate



router.navigate angular 6 (2)

Estoy intentando navegar a una ruta en Angular 2 con una combinación de ruta y parámetros de consulta.

Aquí hay una ruta de ejemplo donde la ruta es la última parte de la ruta:

{ path: '':foo/:bar/:baz/page'', component: AComponent }

Intentando vincular usando la matriz como tal:

this.router.navigate([''foo-content'', ''bar-contents'', ''baz-content'', ''page''], this.params.queryParams)

No recibo ningún error y por lo que puedo entender, esto debería funcionar.

Los documentos de Angular 2 (por el momento) tienen lo siguiente como ejemplo:

{ path: ''hero/:id'', component: HeroDetailComponent } [''/hero'', hero.id] // { 15 }

¿Alguien puede ver dónde me estoy equivocando? Estoy en el enrutador 3.


Si el primer segmento no comienza con / es una ruta relativa. router.navigate necesita un parámetro relativeTo para la navegación relativa

O haces la ruta absoluta:

this.router.navigate([''/foo-content'', ''bar-contents'', ''baz-content'', ''page''], this.params.queryParams)

o pasas relativeTo

this.router.navigate([''../foo-content'', ''bar-contents'', ''baz-content'', ''page''], {queryParams: this.params.queryParams, relativeTo: this.currentActivatedRoute})

Ver también


import { ActivatedRoute } from ''@angular/router''; export class ClassName { private router = ActivatedRoute; constructor(r: ActivatedRoute) { this.router =r; } onSuccess() { this.router.navigate([''/user_invitation''], {queryParams: {email: loginEmail, code: userCode}}); } } Get this values: --------------- ngOnInit() { this.route .queryParams .subscribe(params => { let code = params[''code'']; let userEmail = params[''email'']; }); }

Ref: https://angular.io/docs/ts/latest/api/router/index/NavigationExtras-interface.html