1

尝试在子模块中获取路由参数时遇到问题。

我们有两个模块ProjectTicket项目是主​​模块,是子模块。

我尝试创建的路线就像。“project/:id/ticket/” --> “/project/1/ticket/”。

项目路由.module.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。我尝试了以下代码来获取路由参数。但我只得到值undefined

票务路由.module.ts

const routes: Routes = [ {
  path: '',
  component: ViewComponent
}]

view.component.ts

  this.route.parent.params.subscribe(params => {  // Here params giving -> {}
    this.projectId = +params["id"];
  });

我无法在此子模块中获取路由参数。

提前致谢。

4

1 回答 1

0

您不需要访问parent. route试着做

this.route.paramMap.subscribe(params => {
    this.projectId = +params.get('id');
});
于 2020-04-17T11:27:17.450 回答