我在 Angular 5中有此示例路由。这3个组件已导入到此模块中。组件标记在john组件的文件夹下生成,而james组件在mark组件的文件夹下生成。

我想通过如下所示的路径加载james组件:https://my-website/john-route/mark-route/james-route,因此我在模块文件中创建了此路由。

  const routes: Routes = [
  {
    path: 'john-route',
    component: JohnComponent,
    children: [
      {
        path: 'mark-route',
        component: MarkComponent,
        children: [
          {
            path: 'james-route',
            component: JamesComponent
          }
        ]
      }
    ]
  }
];

但是我的问题是,它只能使用[routerLink]="['mark-route']"加载以标记组件。
在具有此[routerLink]="['james-route']"的james组件上,它仅在https://my-website/john-route/mark-route/james-route中显示正确的路径URI,但不会在页面中加载该组件。这是怎么回事,如何解决这个问题,或者什么是最佳解决方案?

最佳答案

您的MarkComponent还需要在其中包含一个router-outlet

要使用子路径,您的父组件必须具有标记部分

<router-outlet></router-outlet>

这使您的子路径可以放置在父组件中。必须对具有子组件的所有组件执行相同的操作。

有关更多信息,请参见Routing & Navigation in Angular

关于angular - 如何在Angular 5中嵌套2个以上的子级路线?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49688200/

10-13 01:33