Angular маршруты загрузки другого компонента по пустому пути - PullRequest
0 голосов
/ 04 марта 2020

Моя структура проекта выглядит примерно так:

app/
--main/
  --dashboard/
    --home/
    --admin/
      --users/

Каждая папка содержит модуль и компонент (кроме аутентификации). Моя идея состояла в том, чтобы каждый маршрут был разделен его модулем, и все перенаправления в /dashboard.

Внутри app.module У меня есть следующие маршруты:

{ path: '', redirectTo: 'dashboard', pathMatch: 'full' },
{ path: '**', redirectTo: 'dashboard' }

Внутри dashboard.module I есть это:

{
    path: '',
    canActivate: [AuthGuard],
    component: DashboardComponent,
    children: [
        { path: 'dashboard', component: HomeComponent },
        { path: 'admin', loadChildren: './admin/admin.module#AdminModule' }
    ]
}

Внутри admin.module:

{ path: 'users', loadChildren: './users/users.module#UsersModule' }

И внутри users.module:

{ path: '', component: UsersComponent }

Теперь, когда он работает, все в порядке, /admin/users загружает UsersComponent, а /dashboard загружает DashboardComponent. Но когда я пытаюсь go до /, вместо загрузки DashboardComponent, он загружает UsersComponent. Почему это случилось?

1 Ответ

0 голосов
/ 04 марта 2020

Как насчет переключения порядка дочерних путей

{
    path: '',
    canActivate: [AuthGuard],
    component: DashboardComponent,
    children: [
        { path: 'admin', loadChildren: './admin/admin.module#AdminModule' },
        { path: 'dashboard', component: HomeComponent }

    ]
}

Так как это не сработало. Попробуйте порядок импорта вашего модуля. Похоже, что пустой путь UserModule выбирается вместо перенаправления на панель инструментов. Убедитесь, что ваш импорт RouterModule в вашем app.module последний

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...