Angular:儿童路线匹配

时间:2018-01-08 22:26:34

标签: javascript angular routing

假设我们有以下路线:

{
    path: 'a',
    component: AComponent,
    children: [
        {
            path: '',
            component: BComponent
        },
        {
            path: '',
            component: CComponent,
            children: [
                { path: '', component: DComponent }
            ]
        }
    ]
}

并将以下网址粘贴到浏览器的地址栏中:

http://localhost:4200/a

问题

  1. 路由器如何知道要显示的组件?
  2. 是否会显示所有四个组件(A,B,C,D)?
  3. 每个组件在哪里显示?
    • 每个父组件是否始终都有自己的RouterOutlet,因此每个组件都沿着父/子/孙子/等的路由。显示在其父级各自的RouterOutlet?
    • 通常,在显示包含子路由的路由时,每个组件都显示在其父路由器中。但是,如果只有AComponent有一个RouterOutlet,那么BComponent,CComponent和DComponent会显示在哪里?

1 个答案:

答案 0 :(得分:0)

鉴于您没有收到任何类型的错误,路由器将为您提供找到的第一个匹配路由。在这种情况下BComponent。只有一个组件可以在路由器插座中显示(否则你需要像auxRoute这样的东西)。

如果CComponent有一条像' c'您可以从路由\n访问它,然后您将在CComponents路由器插座中获得带有DComponent的CComponent。

希望有所帮助。