我试图在子模块中获取路由参数时遇到问题。
我们有两个模块 Project 和 Ticket 。 项目是主要模块,票证是子模块。
我尝试创建的路线就像。 “ project /:id / ticket /”->“ / project / 1 / ticket /”。
project-routing.module.ts
const routes: Routes = [
{
path: ':id',
component: ProjectComponent,
children:[
{
path: 'ticket',
loadChildren: () => import('../ticket/ticket.module').then(m => m.TicketModule),
}
]
}]
在该 Ticket 模块中。我有称为视图的组件。我需要在路线网址“ / project / 1 / ticket”中的项目ID。我尝试了以下代码来获取路线参数。但是我只得到值 undefined 。
ticket-routing.module.ts
const routes: Routes = [ {
path: '',
component: ViewComponent
}]
view.component.ts
this.route.parent.params.subscribe(params => { // Here params giving -> {}
this.projectId = +params["id"];
});
我无法在此子模块中获取路由参数。
谢谢。
答案 0 :(得分:0)
您不需要访问parent
中的route
。
尝试做
this.route.paramMap.subscribe(params => {
this.projectId = +params.get('id');
});