Перенаправление маршрута по умолчанию не работает для лениво загруженных маршрутов в Angular 2+ - PullRequest
0 голосов
/ 26 сентября 2018

Эта проблема идеально подходит для заголовка, но не помогла мне решить мою проблему, у меня есть немного более сложная настройка.Поэтому я не собираюсь публиковать здесь весь код, а не создавать гигантский пост.Я сделал это stackblitz с упрощенной демонстрацией работы моего приложения.Проблема в файле src / app / viewport / viewport-routing.module.ts, где определены ленивые маршруты.Они работают нормально, за исключением того, что я не могу установить путь по умолчанию там.

Я ожидаю, что эта настройка будет работать:

  {
      path: 'person',
     loadChildren: './person/person.module#PersonModule',
  },
  {
    path: 'contract',
    loadChildren: './contract/contract.module#ContractModule',
  },
  { path: '', redirectTo: 'person', pathMatch:"full"},

Но вместо относительной маршрутизации к / (auxName: person) этоделает абсолютную маршрутизацию / чел.Тот же результат, что и при использовании redirectTo: '/ person'.Но ИМХО это не ожидаемое поведение.

Я попытался добавить дублирующий маршрут, но с пустым путем:

  {
    path: '',
    loadChildren: './person/person.module#PersonModule',
  },

Но я получил ошибку:

Ошибка: Uncaught (в обещании): TypeError: Невозможно прочитать свойство 'маршруты' неопределенного

Поиск этой ошибки в Google Я обнаружил некоторые проблемы с угловым GitHub, но все они были о лениво загруженных модулях, не работающих ввспомогательные выходы, которые работают для меня, но они не о перенаправлении пути по умолчанию, что в моем случае является проблемой.

Спасибо за любой совет, до тех пор я, вероятно, исправлю это с помощью некоторой логики в контроллерах.Но было бы неплохо заставить его работать через конфиг.

Я также прокомментировал в связанной проблеме на github , посмотрю, будет ли там кому-нибудь интересно: D

В любом случае,Удачного кодирования!:)

...