Angular 6路由器无法在Chrome / IE上运行

时间:2018-08-01 20:56:35

标签: javascript angular spring-boot angular6

我正在使用角度6来重定向用户。登录成功后,用户将重定向到主页。相同的代码可在Firefox(版本52.8.1)上完美运行,但chrome不会重定向到子网址。

我的路由代码是:

const routes: Routes = [
  {
    path: 'login',
    component: LoginComponent,
  },
  {
    path: '',
    redirectTo: 'dashboard/home',
    pathMatch: 'full',
    canActivate: [LoggedInGuard]
  },
  {
    path: 'dashboard',
    component: DashboardComponent,
    pathMatch: 'prefix',
    canActivate: [LoggedInGuard],
    children: [
      {path: 'InfoManage', component: InfoManageComponent},
      {path: 'home',component: HomeComponent}
    ]
  },
  // All Other Routes Goto Login *****************************************/
  {path: '**', redirectTo: '/login'}
];

当blank(“”)网址出现时,Firefox将其重定向到 / dashboard / home ,但将chrome重定向到 / dashboard 。这是有角度的错误,还是我缺少什么?

1 个答案:

答案 0 :(得分:0)

我认为与路由优先级有关的问题,与Chrome无关。

const routes: Routes = [
  {
    path: 'login',
    component: LoginComponent,
  },
  {
    path: '',
    redirectTo: 'dashboard',
    pathMatch: 'full',
    canActivate: [LoggedInGuard]
  },
  {
    path: 'dashboard',
    component: DashboardComponent,
    canActivate: [LoggedInGuard],
    children: [
      {path: '',component: HomeComponent},
      {path: 'InfoManage', component: InfoManageComponent}
    ]
  },
  // All Other Routes Goto Login *****************************************/
  {path: '**', redirectTo: '/login'}
];

对于空的''路由,请尝试直接重定向“仪表板”,而不要处理大小写。我希望它能起作用。