Sergamers
@Sergamers
front-end

Routes загружает родительский модуль angular 2, как поправить?

Есть роуты
const Routes: Routes = [
  {path: '', loadChildren: './entry-module/entry.module#EntryModule'},
  {path: 'auto', loadChildren: './auto-module/auto.module#AutoModule'},
  {path: 'avia', loadChildren: './avia-module/avia.module#AviaModule'},
];

Всегда грузится модуль EntryModule. Как сделать чтоб лениво грузился только тут: ''
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
navix
@navix
Angular & TypeScript
Расположить его в конце списка:

const Routes: Routes = [
  {path: 'auto', loadChildren: './auto-module/auto.module#AutoModule'},
  {path: 'avia', loadChildren: './avia-module/avia.module#AviaModule'},
  {path: '', loadChildren: './entry-module/entry.module#EntryModule'},
];


Но нужно учитывать, что если будет обработка wildcard (например, для 404 страницы), то оно все-таки его загрузит. Т.к wildcard будет ниже, а роутер должен проверить роуты внутри модуля.

Альтернативный вариант, делать редирект при пустом роуте, например так:

{
    path: '',
    pathMatch: 'full',
    redirectTo: 'entry',
  },
  {
    path: 'entry',
    loadChildren: 'entry-module/entry.module#EntryModule',
  },
  ...
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы