在尝试获取子模块内的路由参数时遇到问题。
我们有两个模块项目和票证项目为主模块,票证为子模块。
我尝试创建的路线是这样的。"project/:id/ticket/"-->"/project/1/ticket/"。
项目路由模块.ts
const routes: Routes = [
{
path: ':id',
component: ProjectComponent,
children:[
{
path: 'ticket',
loadChildren: () => import('../ticket/ticket.module').then(m => m.TicketModule),
}
]
}]
在票证模块内部。我有一个叫做视图的组件。其中我需要路线url"/project/1/ticket"中的项目id。我尝试了以下代码来获取路由参数。但我只得到值未定义。
票证路由模块.ts
const routes: Routes = [ {
path: '',
component: ViewComponent
}]
视图组件.ts
this.route.parent.params.subscribe(params => { // Here params giving -> {}
this.projectId = +params["id"];
});
我无法获取此子模块中的路线参数。
提前谢谢。
您不需要访问route
的parent
。尝试进行
this.route.paramMap.subscribe(params => {
this.projectId = +params.get('id');
});