我有以下路由结构
{
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
有什么理由?
答案 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中。