我在 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/