我有一个代码,其中路由器配置如下:
{
path: 'users',
component: UsersComponent,
children: [
{
path: 'add',
component: AddUserComponent
}
]
}
我希望有两页:
但我不知道嵌套router-outlet
标签的内容。这两个页面我想在同一个主容器中呈现app-root
。我知道我可以这样做:
{
path: 'users',
component: UsersComponent
},
{
path: 'users/add',
component: AddUserComponent
}
但你可能同意我的观点,这不是一个好的解决方案,使用儿童建筑会很好。
我该怎么做?
答案 0 :(得分:2)
如果您没有为路线分配组件,则您不需要嵌套路线=>只是不要将组件添加到users
路由的定义中,并为列表页面创建一个专用的空路径:
{
path: 'users',
children: [
{
path: '',
component: UsersComponent
},
{
path: 'add',
component: AddUserComponent
}
]
}
这里有一个缺点:如果你在routerLink
内使用UsersComponent
,你将使用相对路径,那么空路径仍将作为路径运行。所以你需要使用类似于../add
而不是./add
的相对路径,因为通常人们会认为
答案 1 :(得分:2)
检查此代码:
{
path: 'users',
component: UsersComponent,
children: [
{
path: '',
component: UsersComponent
},
{
path: 'add',
component: AddUserComponent
}
]
}