子ルート間をナビゲートできないようです。
ルーターの概要:
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 }
]
私はchild1コンポーネントで新しい/タイプのルートに移動しようとしています:
this._router.navigate(['new', objType], { relativeTo: this._route });
しかし、エラーが発生し続けます:どのルートにも一致しません。 URLセグメント:「new/asset」。
URLを手動で挿入すると、正常に機能します。
ヘルプは大歓迎です、ありがとう!
../
を使用できます
this._router.navigate(['../new', objType], { relativeTo: this._route });
this.router.navigate(['../../new'], { relativeTo: this._route })
または
this.router.navigate(['/parent/new'])
またはアンカータグ付き:
<a [routerLink]=" ['../../new'] ">
Go to new
</a>
または:
<a [routerLink]=" ['/parent/new'] ">
Go to new
</a>
relativeTo
を使用してからナビゲートしようとすると、親の視点からのパス全体だけでなく、相対パスに配置する必要があります。あなたの例では、次のようになります。
this._router.navigate([ '../', objType ], { relativeTo: this._route });