web-dev-qa-db-fra.com

Navigation entre les itinéraires enfants Angular 2

Je n'arrive pas à pouvoir naviguer entre les itinéraires enfants.

Présentation du routeur:

path: 'parent', component: parentComponent,
        children: [
            { path: '', redirectTo: 'child1', pathMatch: 'full' },
            { path: 'child1', component: child1Component },
            { path: 'child2', component: child2Component },
            { path: 'new/:type', component: child3Component },

            { path: '**', component: PageNotFoundComponent }
        ]

je suis dans le composant child1 essayant de naviguer vers la nouvelle route/type comme ceci:

this._router.navigate(['new', objType], { relativeTo: this._route });

Mais je continue à recevoir Erreur: ne peut correspondre à aucune route. Segment d'URL: "nouveau/actif".

Si j'insère manuellement l'URL, cela fonctionne bien.

De l'aide serait grandement appréciée, merci!

11
David Pascoal

Vous pouvez utiliser ../

this._router.navigate(['../new', objType], { relativeTo: this._route });
16
Günter Zöchbauer
this.router.navigate(['../../new'], { relativeTo: this._route })

Ou

this.router.navigate(['/parent/new'])

Ou avec une balise d'ancrage:

 <a [routerLink]=" ['../../new'] ">
      Go to new
 </a>

Ou :

 <a [routerLink]=" ['/parent/new'] ">
      Go to new
 </a>
7
Milad

Lorsque vous utilisez relativeTo puis essayez de naviguer, vous devez mettre le chemin relatif, pas seulement celui du point de vue des parents. Dans votre exemple, cela devrait ressembler davantage à:

this._router.navigate([ '../', objType ], { relativeTo: this._route });
3
benny_boe