Несколько пустых маршрутов подобраны угловым маршрутизатором - PullRequest
0 голосов
/ 14 мая 2019

У меня есть мультимодульное приложение.Модули упоминаются в маршрутах, как если бы они были ленивыми модулями (loadChildren: 'path/to/module#Module'), но на самом деле они нетерпеливы - этот синтаксис используется только для достижения более красивой изолированной структуры маршрутизации.

Фактически, ленивая загрузканарушается сразу, когда модули импортируются напрямую, используя .forRoot(config).Конфигурирование необходимо для предоставления ключей API и других фрагментов информации, зависящих от среды (домена страны).

Теперь предположим, что один из этих модулей с именем AbcModule имеет свою локальную маршрутизацию следующим образом

export const abcRoutes: Routes = [
    {
        path: '',
        pathMatch: 'prefix', // or 'full' - doesn't really make diff
        component: AbcPageComponent,
    },
];

и в основном app-routing.module.ts называется так:

[
    {
        path: '',
        loadChildren: 'app/home/home.module#HomeModule',
    },
    // ... more routes
    {
        path: 'abc',
        loadChildren: 'path/to/abc.module#AbcModule',
    }
]

Теперь проблема в том, что когда RouterModule собирает маршруты во время начальной загрузки, он выбирает 2 отдельных маршрута спустые пути.По иронии судьбы преобладает тот, который принадлежит AbcModule (который я ясно вижу по console.log(this.router.config)), а AbcPageComponent визуализируется вне макета HomeModule (последствия: нет меню, боковой панели и т. Д.)

Основной вопрос:

  • Учитывая эту архитектуру, есть ли способ повлиять на порядок / последовательность, в которой выбираются маршруты?(Я не думаю, что возиться с конфигурацией и Route.resetConfig () было бы рекомендуемым способом)

Другие вопросы:

  • Isчто-то не так с этим шаблоном?
  • Можно ли настроить лениво загруженные модули с помощью конфигурации?

Angular 4.1.x

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