这里我有一个路由路径,后跟两个路由参数,路由看起来像section/sectionId/dashboardId
:
const appRoutes: Routes = [
{
path: 'section/:sectionId',
component: SectionComponent,
children: [
{
path: ':dashboardId',
component: DashboardComponent
},
]
},
];
我需要的是为此添加无组件的第三个参数。我需要将它用作ID作为参数,我可以传递给我的一个组件。所以我尝试了这个:
const appRoutes: Routes = [
{
path: 'section/:sectionId',
component: SectionComponent,
children: [
{
path: ':dashboardId',
component: DashboardComponent,
children: [
{
path: ':dashboardParam',
},
]
},
]
},
];
我得到拒绝承诺说“必须提供以下其中一项:component,redirectTo,children或loadChildren”。
所以我将redirectTo: ':dashboardId'
添加到:dashboardParam
子路由,然后我收到“无法重定向到':dashboardId'。找不到':dashboardId'。”
如何在不收到错误的情况下添加第三个参数?
答案 0 :(得分:2)
实际上,您无法在没有相应组件的情况下编写路由或进行重定向。你可以写这样的
const appRoutes: Routes = [
{
path: 'section/:sectionId',
component: SectionComponent,
children: [
{
path: ':dashboardId/:dashboardParam',
component: DashboardComponent
},
]
},
];
并在组件中检查dashboardParam
参数是否通过
constructor(params: RouteParams) {
var dashboardParam= params.get("dashboardParam");
if (dashboardParam) {
...
}
}