У меня проблема с настройкой маршрутизации к дочернему компоненту в загруженном модуле.
app.routing.ts
export const routes: Routes = [
{
path: 'admin',
loadChildren: () => import('./admin/admin.module').then(m => m.AdminModule),
},
];
admin.routing.ts
export const routes: Routes = [
{
path: '',
component: AdminPanelComponent,
children: [
{
path: '',
redirectTo: 'user/list',
pathMatch: 'full'
},
{
path: 'user/list',
canActivate: [AdminGuard],
component: UserListComponent,
},
{
path: 'user/new',
canActivate: [AdminGuard],
component: UserComponent,
}
]
}
];
Когда I go на https://localhost/admin приложение не перенаправляется на https://localhost/admin/user/list, как ожидалось, но на https://localhost.
AdminPanelComponent - это компонент макета пользовательского интерфейса для модуля администратора.
Есть предложения?
ОБНОВЛЕНИЕ: та же проблема с лениво загруженным модулем без дочерних компонентов
app.routing.ts
export const routes: Routes = [
{
path: 'agent',
loadChildren: () => import('./agent/agent.module').then(m => m.AgentModule),
},
];
agent.routing. ts
export const routes: Routes = [
{
path: '',
component: AgentPanelComponent,
},
];
Когда я go на https://localhost/agent приложение перенаправляется на https://localhost.
ОБНОВЛЕНИЕ: я нашел проблема и исправлена, но не могу объяснить, почему это не работает.
app.routing.ts
export const routes: Routes = [
{
path: 'auth',
loadChildren: () => import('./auth/auth.module').then(m => m.AuthModule),
},
{
path: 'admin',
loadChildren: () => import('./admin/admin.module').then(m => m.AdminModule),
},
{
path: 'agent',
loadChildren: () => import('./agent/agent.module').then(m => m.AgentModule),
},
];
Модуль администратора и агент используют модуль аутентификации.
auth.routing.ts
export const routes: Routes = [
{
path: '',
canActivate: [RedirectIfLoggedInGuard],
component: LoginPageComponent
},
{
path: 'password-reset',
canActivate: [RedirectIfLoggedInGuard],
component: LoginPasswordResetComponent
},
];
В auth.routing.ts я изменил path
с этого
{
path: '',
canActivate: [RedirectIfLoggedInGuard],
component: LoginPageComponent
},
на этот
{
path: 'login',
canActivate: [RedirectIfLoggedInGuard],
component: LoginPageComponent
},
И теперь он работает нормально.