2

Angular 5 を使用していますが、routerLinkActive が機能せず、ページを更新した後にパラメーターが未定義であると表示されます。

これは私のルートです:

    const childRoutes: Routes = [
  {
    path: '', data: { expectedRole: 'ADMIN' }, canActivate: [RoleGard],
    children: [
      { path: '', redirectTo: 'list', pathMatch: 'full' },
      { path: 'list', component: MembersListComponent },
    ]
  },
  {
    path: ':id', data: { expectedRole: 'ADMIN' }, canActivate: [RoleGard],
    children: [
      { path: '', redirectTo: 'edit', pathMatch: 'full' },
      { path: 'edit', component: MemberEditComponent },
      { path: 'status', component: MemberStatusComponent },
      { path: 'delete', component: MemberDeleteComponent }
    ]
  }
];

私のナビゲーション バーでは、次のように子ルートを表示します。

<a class="navbar-navItem" [routerLink]="['members', id, 'edit']" routerLinkActive="active">
    <span class="navbar-navItem-text">{{ 'NAV_BAR.member.edit'|translate }}</span>
  </a>
  <a class="navbar-navItem" [routerLink]="['members', id, 'status']" routerLinkActive="active">
    <span class="navbar-navItem-text">{{ 'NAV_BAR.member.status'|translate }}</span>
  </a>
  <a class="navbar-navItem" [routerLink]="['members', id, 'delete']" routerLinkActive="active">
    <span class="navbar-navItem-text">{{ 'NAV_BAR.member.delete'|translate }}</span>
  </a>

たとえば、「編集」ルートに移動すると完全に機能します。しかし、F5 を押すと、activeRouterLink が機能しません。そして、「ステータス」に移動すると、再び機能します。

何か案が ?前もって感謝します

4

0 に答える 0