Angular 7 маршрутов concat приводит к ошибке компиляции - PullRequest
0 голосов
/ 15 января 2019

Первый - к вашему сведению, модуль маршрутизации установлен на:

@NgModule({
  imports: [RouterModule.forRoot(ALL_ROUTES)],
  exports: [RouterModule],
  providers: []
})
export class AppRoutingModule {}

Размещение всех маршрутов в 1 массиве с именем: 'ALL_ROUTES' и передача массива в AppRoutingModule - импорт: [RouterModule.forRoot (ALL_ROUTES)], работает нормально:

export const ALL_ROUTES: Routes = [
  {path: 'route1', component: FirstComponent},
  {path: 'route2', component: SecondComponent},
  {path: 'route3', component: ThirdComponent},
  {path: 'route4', component: FourthComponent}
];

Итак, приведенный выше код работает нормально. Тем не менее, если у нас есть 2 массива и объединяем их так:

export const ROUTES1: Routes = [
  {path: 'route1', component: FirstComponent},
  {path: 'route2', component: SecondComponent}
];

export const ROUTES2: Routes = [
  {path: 'route3', component: ThirdComponent},
  {path: 'route4', component: FourthComponent}
];

export const ALL_ROUTES: Routes = ROUTES1.concat(ROUTES2);

мы получаем ошибку компиляции:

ERROR in Cannot read property 'loadChildren' of undefined

Здесь было задано несколько похожих вопросов, но решение этой проблемы не найдено. Есть ли возможное решение? Возможно объяснение того, что происходит?

1 Ответ

0 голосов
/ 15 января 2019

Для тех, кто ищет сообщения с ответами - как предложено Данилом, этот шов будет работать. Пожалуйста, оставляйте комментарии, если есть потенциальные проблемы.

export const ALL_ROUTES: Routes =
    [
      ...ROUTES1,
      ...ROUTES2
    ];
...