繁体   English   中英

Angular 2+路由redirectTo作为函数

[英]Angular 2+ route redirectTo as a function

我在Angular应用中有以下路由配置:

{
  path: ParentComponent.path,
  component: ParentComponent,
  canActivate: [AuthGuard],
  children: [
    {
      path: '',
      pathMatch: 'full',
      redirectTo: getDefaultChildRoute()
    },
    {
      path: ':mode/:year/:month/:day',
      component: ChildComponent
    }
  ]
}

getDefaultChildRoute()函数返回如下字符串:

export function getDefaultChildRoute(): string {
  const urlArray = ['a', '2019', '02'];
  return urlArray.join('/');
}

问题似乎是redirectTo需要一个字符串,而不是要调用的方法(即使它返回一个字符串)。 如果我用占位符字符串替换该方法调用,则可以正常工作。

在github上已经有一个关于它的问题: https : //github.com/angular/angular/issues/13373

直接在redirectTo处使用箭头函数会引发Typescript错误'()=> string不可分配给type字符串'。

有任何想法吗?

尝试这个:

redirectTo: (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {
    const urlArray = ['a', '2019', '02'];
    return urlArray.join('/');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM