将重定向路由到Angular问题中的其他链接

时间:2019-08-13 14:59:49

标签: javascript angular typescript angular-ui-router

好的,我尝试使adviceRouterModule工作。

我当然尝试了很多。谷歌搜索。但是我无法弄清楚。

所以我有这个AdviceRoutingModule:

const adviceRouters: Routes = [
  {
    path: '',
    component: AdviceNavigationComponent,
    canActivate: [AuthGuard],
    children: [
      {path: '', redirectTo: 'huidig', pathMatch: 'full', canActivate: [AuthGuard] },
      {path: 'huidig', component: AdviceComponent, canActivate: [AuthGuard] },
      {path: 'archief', component: AdviceArchiveComponent, canActivate: [AuthGuard] },
    ]
  }
];


@NgModule({
  imports: [RouterModule.forChild(adviceRouters)],
  exports: [RouterModule]
})



export class AdviceRoutingModule {}

,建议导航模板如下:

<nav class="nav-tab-bar">
  <a routerLink="/advies/huidig" routerLinkActive="active" class="nav-tab-bar-tab">Adviezen</a>
  <a routerLink="/advies/archief" routerLinkActive="active" class="nav-tab-bar-tab">Eerdere Adviezen</a>
</nav>
<router-outlet></router-outlet>

因此,在工作示例中,如果用户单击Adviezen,则必须将用户定向到:

http://localhost:4200/advies/huidig

但是现在什么也没发生

该网址正常工作。

我现在这样子:

const adviceRouters: Routes = [
  {
    path: 'advies',
    component: AdviceNavigationComponent,
    canActivate: [AuthGuard],
    children: [
      {path: '', redirectTo: 'huidig', pathMatch: 'full', canActivate: [AuthGuard] },
      {path: 'huidig', component: AdviceComponent, canActivate: [AuthGuard] },
      {path: 'archief', component: AdviceArchiveComponent, canActivate: [AuthGuard] },
    ]
  }
];

,当然也包含在advice.moduel中:

@NgModule({
    imports: [

       AdviceRoutingModule,
        CommonModule,
        ReactiveFormsModule,
        SharedModule
       ],

啊,这就是窍门:

const adviceRouters: Routes = [
  {
    path: 'advies',
    canActivate: [AuthGuard],
    children: [
      {path: '', redirectTo: 'huidig', pathMatch: 'full', canActivate: [AuthGuard] },
      {path: 'huidig', component: AdviceComponent, canActivate: [AuthGuard] },
      {path: 'archief', component: AdviceArchiveComponent, canActivate: [AuthGuard] },
    ]
  }
];

1 个答案:

答案 0 :(得分:3)

您应该将“广告”添加到我认为的“主要”路径中,如下所示:

const advisorRouters:路线= [   {     路径:“广告”     ...