Угловая маршрутизация нарушена после навигации - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть приложение с несколькими модулями, у каждого модуля есть хотя бы 1 маршрут, и есть основной модуль, который импортирует их все.

Это прекрасно работает, я могу без проблем перемещаться по разным маршрутам на разных модулях.

Затем я реализовал представление входа в систему, которое перенаправляет пользователя на панель мониторинга при успешном входе в систему. Это нормально, но когда я пытаюсь ориентироваться, URL-адрес меняется, но содержимое остается прежним:

this.router.navigateByUrl('/s1-customer-information/dashboard');

Это HTML-код с меню, которое я использую для навигации:

  <div id="mySidenav" class="sidenav">
    <a href="javascript:void(0)" class="closebtn" (click)="closeNav()">&times;</a>
    <a routerLink="/s1-customer-information">S1 Customer Information</a>
    <a routerLink="/s2-orders-products">S2 Orders and Products</a>
    <a routerLink="/s3-track-drivers">S3 Track and Drivers</a>
    <a routerLink="/s4-invoices-payments">S4 Invoices and Payments</a>
    <a routerLink="/s5-user-management">S5 User Management</a>
    <a routerLink="/authentication">Login</a>
    <a (click)="logout()">Logout</a>
  </div>

Это маршруты двух моих модулей:

const routes: Routes = [
  { path: '', redirectTo: 'dashboard', pathMatch: 'full' },
  { path: 'dashboard', component: S1DashboardComponent },
];

@NgModule({
  imports: [ RouterModule.forChild(routes) ],
  exports: [ RouterModule ]
})
export class S1CustomerInformationRoutingModule { }

-

const routes: Routes = [
  { path: '', redirectTo: 'dashboard', pathMatch: 'full' },
  { path: 'dashboard', component: S2DashboardComponent },
];

@NgModule({
  imports: [ RouterModule.forChild(routes) ],
  exports: [ RouterModule ]
})
export class S2OrdersProductsRoutingModule { }

А это маршрутизация основного модуля:

const routes: Routes = [
  {
    path: 'authentication',
    loadChildren: '../authentication/authentication.module#AuthenticationModule'
  },
  {
    path: 's1-customer-information',
    loadChildren: '../s1-customer-information/s1-customer-information.module#S1CustomerInformationModule',
    canActivate: [AuthenticationGuard]
  },
  {
    path: 's2-orders-products',
    loadChildren: '../s2-orders-products/s2-orders-products.module#S2OrdersProductsModule',
    canActivate: [AuthenticationGuard]
  },
  {
    path: 's3-track-drivers',
    loadChildren: '../s3-track-drivers/s3-track-drivers.module#S3TrackDriversModule',
    canActivate: [AuthenticationGuard]
  },
  {
    path: 's4-invoices-payments',
    loadChildren: '../s4-invoices-payments/s4-invoices-payments.module#S4InvoicesPaymentsModule',
    canActivate: [AuthenticationGuard]
  },
  {
    path: 's5-user-management',
    loadChildren: '../s5-user-management/s5-user-management.module#S5UserManagementModule',
    canActivate: [AuthenticationGuard]
  }
];

@NgModule({
  imports: [
    RouterModule.forRoot(routes)
  ],
  exports: [
    RouterModule
  ]
})

export class CoreRoutingModule {  }
...