Я работаю над системой регистрации, использующей Angular 6.
База AppModule
содержит следующие маршруты, и они работают правильно:
const routes: Routes = [
{
path: 'login',
component: LoginComponent
},
{
path:'',
component: LoginComponent
},
{
path: 'forgot',
component: ForgotPasswordComponent
//canActivate: [AuthGuardService]
},
{
path:'dashboard',
loadChildren: '../app/dashboard/dashboard.module#DashboardModule'
},
{
path: '**',
redirectTo: 'login',
pathMatch: 'full'
}
];
Как видите, я использую концепцию отложенной загрузки, в которой я создал новый модуль и компонент с именем dashboard
, содержащий скрипт маршрутов dashboard-routing.module.ts
:
const routes: Routes = [
{
path:'',
component: DashboardComponent,
},
{
path:'home',
loadChildren: './main-navbar/main-navbar.module#MainNavbarModule'
},
{
path:'**',
redirectTo: '',
pathMatch: 'full'
}
];
Как вы видите, я снова использую ленивую загрузку внутри компонента панели мониторинга, и внутри него я создал последний модуль / компонент с именем main-navbar.component
, в котором эта часть, все остальные после компонента входа в систему будут выполняться.
Структура теперь выглядит следующим образом:
Вот поршень, чтобы проверить его .
И для простоты я удалил компоненты логина и забыл пароль, чтобы вы могли напрямую проверить компонент панели управления .
То, что идет не так, описывается следующим образом:
После входа в систему пользователь увидит следующий URL-адрес без ошибок:
localhost:4200/dashboard
Где панель инструментов содержит компонент main-navbar
:
Теперь мне нужно отобразить другие компоненты внутри этой страницы, поэтому, если URL-адрес:
localhost:4200/dashboard/home
Я перенаправлен на компонент входа в систему и не получаю ошибок. Я думаю, проблема в том, как я обрабатываю файлы маршрутизации и куда я помещаю элементы <router-outlet>
, но не могу понять это.