24

如果我转到不存在的路由,如何配置 Angular2 路由器以将我重定向到默认路由(或任何其他路由)?

4

3 回答 3

32

我找到了这个解决方案

{ component: HomeComponent, path: "", pathMatch: "full" },
{ component: LoginComponent, path: "/login" },
{ component: NotFoundComponent, path: "**" }
于 2016-01-04T17:18:03.400 回答
12

如需重定向默认路由 ( /),请参阅Routeapi 文档。只需将默认路由的useAsDefault参数设置为true

例如,如果您定义的路线如下:

@RouteConfig([ {path: '/home', component: HomeCmp, name: 'Home', useAsDefault: true} ])

/路线将被重新路由到/home

正如 OP 在他的回答中提到的,要将所有未定义的路由重定向到某个路由,请使用

@RouteConfig([ /*...,*/ {path: '/**', redirectTo: ['Home']} ])
于 2016-01-04T16:29:07.870 回答
6

路由器已更改为新版本,现在以这种方式使用后备路由。参考:Angular 2路线

{ path: '', redirectTo: '/member/dashboard', terminal: true },
{
  path: 'member',
  component: MemberMainComponent,
  canActivate: [AuthGuard],
  children: [
    {
      path: 'dashboard',
      component: DashboardComponent
    }
  ]
},
{ path: '**', component: DashboardComponent }
于 2016-08-04T10:07:41.977 回答