navigate relative to child route from my main routing
我的 app.routing forRoot() 文件:
1 2 3 4 | const APP_ROUTES: Routes = [ {path: 'immeuble', loadChildren: 'app/immeuble/immeuble.module#ImmeubleModule'}, {path: '', component: HomeComponent} ]; |
在我的功能模块
1 2 3 4 5 6 7 8 9 10 11 | const IMMEUBLE_ROUTES: Routes = [ { path: ':id', component: ImmeubleComponent, children: [ { path: 'general', component:GeneralComponent }, { path: 'objet', component:GeneralComponent }, { path: '**', redirectTo:'general', pathMatch:'full' }, ] }, { path: '', component: ImmeubleComponent , pathMatch:'full',children:[ { path: '', component:AccueilComponent }, ]}, ]; |
我的实际路径是
通过这条路径,我有两条激活的路线:
我的 AppComponent 中有所有链接,所以我想添加一个链接以导航到
1 | router.navigate(['object'], relativeTo: activatedRoute[ImmeubleComponent]) |
我怎样才能做到这一点?
您可以注入和使用 ActivatedRoute 来查询当前路线和子路线,以便导航您想要的实际路线。
在您的情况下,您可以使用 ActivatedRoute.children 方法获取子数组,然后查找最深的数组并用作导航的参数:
1 | this.router.navigate(['./', {params}], { relativeTo: _.last(this.route.children) }); |
- 在此示例中,您可以更新当前路线的参数,但您也可以导航到上层('../')或与当前相关的其他路线。
- 我假设最后一个孩子是最深的,但我还没有测试过。就我而言,来自 ActivatedRoute 的 firstChild 方法就足够了:)。