我的app.routing forRoot()文件:
const APP_ROUTES: Routes = [
{path: 'immeuble', loadChildren: 'app/immeuble/immeuble.module#ImmeubleModule'},
{path: '', component: HomeComponent}
];
在我的功能模块ImmeubleModule
中,我有immeuble.routing forChild文件
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 },
]},
];
我的实际路径为immeuble/2/general
通过这条路径,我有两条激活路线:
/immeuble
时匹配)/2/general
上匹配)我的AppComponent中有所有链接,因此我想添加一个链接以导航到/immeuble/2/object
而不指定/immeuble/2
我只想要这样的内容:
router.navigate(['object'], relativeTo: activatedRoute[ImmeubleComponent])
我怎样才能做到这一点?
答案 0 :(得分:2)
您可以注入并使用ActivatedRoute查询当前路线和子路线,以便导航您想要的实际路线。
在您的情况下,您可以使用ActivatedRoute.children方法获取子数组,然后查找最深的一个并用作导航的参数:
this.router.navigate(['./', {params}], { relativeTo: _.last(this.route.children) });