假设我们有以下路线:
{
path: 'a',
component: AComponent,
children: [
{
path: '',
component: BComponent
},
{
path: '',
component: CComponent,
children: [
{ path: '', component: DComponent }
]
}
]
}
并将以下URL粘贴到浏览器的地址栏中:
http://localhost:4200/a
问题
路由器如何知道要显示的组件?
是否会显示所有四个组件(A,B,C,D)?
每个组件将显示在哪里?
是否每个父组件始终都有自己的RouterOutlet,所以每个组件都沿parent / child / grand-child / etc路由。会显示在其父级的相应RouterOutlet中?
通常,当显示带有子路由的路由时,每个组件都显示在其父RouterOutlet中。但是,如果仅AComponent具有RouterOutlet,则BComponent,CComponent和DComponent会显示在哪里?
最佳答案
鉴于您没有遇到任何错误,路由器将为您提供找到的第一个匹配路由。在这种情况下为BComponent。路由器插座中只能显示一个组件(否则,您需要类似auxRoute之类的东西)。
如果CComponent具有类似“ c”的路由,则可以从路由http://localhost:4200/a/c
访问它,那么您将在CComponents路由器出口中获得带有DComponent的CComponent。
希望能有所帮助。
关于javascript - Angular :子路线匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48158922/