未到达儿童路线

时间:2018-03-30 23:02:53

标签: angular angular-routing

我有以下路由结构

{
        path: 'patients',
        children: [
          { path: '', component: PatientsComponent },
          {
            path: ':id', component: PatientComponent, children: [
              {
                path: 'sessions',
                children: [
                  { path: ':id', component: SessionComponent },
                  { path: '', component: SessionsComponent }
                ]
              }
            ]
          }
        ]
      },

我可以访问/patients/patients/:id,但我无法访问/patients/:id/sessions/patients/:id/sessions/:id

有什么理由?

1 个答案:

答案 0 :(得分:0)

您是否为每个<router-outlet>数组添加了新的children?如果您只使用单个<router-outlet>,则以下定义​​就足够了:

  { path: 'patients', component: PatientsComponent },
  { path: 'patients/:id', component: PatientComponent },
  { path: 'patients/:id/sessions', component: SessionsComponent},
  { path: 'patients/:id/sessions/:sessionid', component: SessionComponent},

查看child-route-configuration上的文档。重要引用:

  

路由器处理这些子路由的方式有很多不同之处。路由器在CrisisCenterComponent的RouterOutlet中显示这些路由的组件,而不是在AppComponent shell的RouterOutlet中。