У меня есть основной маршрутизатор следующим образом:
export const routes: Routes = [
{
path: '',
pathMatch: 'full',
redirectTo: "login",
},
{
path: 'login',
loadChildren: './modules/login/login.module#LoginModule',
}
}
, который хорошо маршрутизирует корневой домен в мой модуль входа в систему.
в LoginModule У меня есть другой маршрутизатор (login.routes), структурированный таким образом:
export const router: Routes = [
{
path: '',
component: LoginComponent,
children: [
{
path: '',
component: LoginPanelComponent,
outlet: 'login'
},
{
path:'change_password',
component: ChangePasswordPanelComponent,
outlet: 'login'
}
]
}
}
в login.component.html У меня есть дополнительный маршрутизатор-розетка с именем 'login'
<div class="login-component-wrapper">
<router-outlet name="login"></router-outlet>
</div>
сейчас:
когда я вызываю root, domanin (www.mysite.com) роутер работает хорошо, браузер перенаправляется на www.mysite.com/login
и называется страницей LoginPanelComponent, но если я звоню www.mysite.com/login/change_password
, я получаю «страницу не найдена» от роутера ,
Я нашел решение, но я думаю, что не так чисто
export const router: Routes = [
{
path: '',
component: LoginComponent,
children: [
{
path: '',
component: LoginPanelComponent,
outlet: 'login'
}
]
},
{
path: 'change_password',
component: LoginComponent,
children: [
{
path:'',
component: ChangePasswordPanelComponent,
outlet: 'login'
}
]
}
];
таким образом, маршрутизация работает хорошо, но я думаю, что это не лучшее решение, оно имеет избыточную часть (часть LoginComponent)
есть другой способ, например, первый неработающий пример для обработки?