我在Angular应用程序中有以下路由配置:
{
path: ParentComponent.path,
component: ParentComponent,
canActivate: [AuthGuard],
children: [
{
path: '',
pathMatch: 'full',
redirectTo: getDefaultChildRoute()
},
{
path: ':mode/:year/:month/:day',
component: ChildComponent
}
]
}
函数的作用是:返回如下字符串:
export function getDefaultChildRoute(): string {
const urlArray = ['a', '2019', '02'];
return urlArray.join('/');
}
问题似乎是
redirectTo
需要一个字符串,而不是一个要调用的方法(即使它返回一个字符串)。如果我用占位符字符串替换该方法调用,它可以正常工作。GitHub已经有一个问题:https://github.com/angular/angular/issues/13373
直接在
redirectTo
throws typescript error'()=>字符串处使用箭头函数不能分配给类型string'。有什么想法吗?
最佳答案
试试这个:
redirectTo: (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {
const urlArray = ['a', '2019', '02'];
return urlArray.join('/');
}
关于javascript - Angular 2+路由redirectTo作为函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55865516/