У меня есть приложение с двумя модулями ленивой загрузки.
Главный модуль:
const appRoutes = RouterModule.forRoot([
{path: '', redirectTo: '/welcome', pathMatch: 'full'},
{
path: 'guest',
loadChildren: 'app/guest-module/guest.module#GuestModule',
},
{
path: '',
loadChildren: 'app/user-module/user.module#UserModule',
},
{path: '**', component: NopageComponent},
],
);
Дочерний модуль 1 (GuestModule):
const viewRoutes = RouterModule.forChild([
{path: 'overview/:reportId', component: HistoryOverviewComponent, canActivate: [GuestAuthGuard]},
]);
Дочерний модуль 2 (UserModule):
const viewRoutes = RouterModule.forChild([
{path: 'overview/:reportId', component: HistoryOverviewComponent, canActivate: [UserAuthGuard]},
]);
Когда я перехожу к / guest / overview / 1, он всегда попадает в UserAuthGuard. Это нормально, что детские маршруты накладываются друг на друга?
Есть ли способ отличить их по конфигурации, а не по имени?
Я использую angular 5.2.9 с angular cli 1.7.3.