Angular 8, отложенная загрузка родительских и дочерних компонентов в качестве маршрута по умолчанию - PullRequest
0 голосов
/ 10 июля 2019

У меня есть следующий код маршрутизации:

export const AppRoutes: Routes = [
  {
    path: '',
    redirectTo: 'landing',
    pathMatch: 'full'
  },
  {
    path: 'landing',
    component: AdminLayoutComponent,
    children: [
      {
        path: '',
        loadChildren: './pages/landing/landing.module#LandingModule'
      }
    ]
  },
  {
    path: '**',
    redirectTo: 'landing'
  }
];

Здесь следует отметить, что LandingModule является дочерним элементом родителя, а именно AdminLayoutComponent.

Если я ввожу полный URL (http://mypage.com/landing),, я получаю «полную страницу». Другими словами, AdminLayoutComponent отображается, как и дочерний элемент LandingModule.

ОДНАКО, если я просто введу корневой URL-адрес сайта (http://mypage.com), и разрешу redirectTo загрузить / целевой страницы, то единственное, что будет отображаться, - это LandingModule, а НЕ родительский AdminLayoutComponent.

Есть мысли о том, почему это происходит, или как это исправить?

1 Ответ

0 голосов
/ 10 июля 2019

Я не знаю точно, что происходит в вашем примере, но этот подход я использую в своих проектах (применяется к вашему сценарию):

export const AppRoutes: Routes = [
  {
    path: '',
    component: AdminLayoutComponent,
    children: [
      { path: 'landing', loadChildren: './pages/landing/landing.module#LandingModule' },
      { path: '', redirectTo: "landing", pathMatch: "full" }
    ]
  },
  {
    path: '**',
    redirectTo: 'landing'
  }
];

Надеюсь, это поможет.

...