Вспомогательный маршрут: как получить «глобальное» значение параметра маршрута? - PullRequest
0 голосов
/ 15 сентября 2018

Проблема: я создаю мультиязычный веб-сайт, так что :l/what/ever/else/here - это шаблон для каждого возможного URL, где :l означает «язык».

Очевидно, я должен изменитьперенаправленные ссылки на основе текущего значения параметра :l.Включая раздел навигации, который вызывает ужасную головную боль;рассмотрим следующий код:

<router-outlet name="navbar"></router-outlet>
<br />
<div class="container">
    <router-outlet></router-outlet>
</div>

Затем упрощенная версия маршрутизации:

const routes: Routes = [
  { path: '', outlet: 'navbar', component: AppNavComponent },
  {
    redirectTo: '/ru/mission',
    pathMatch: 'full'
  },
  {
    path: ':l/mission',
    component: AppMissionComponent
  }
];    path: '',
    redirectTo: '/ru/mission',
    pathMatch: 'full'
  },
  {
    path: ':l/mission',
    component: AppMissionComponent
  }
];

Идея довольно проста: я хотел бы выделить router-outlet, выделенный для навигации иотделены для остального содержимого.

Проблема в том, что ActivatedRoute, введенный в AppNavComponent, пуст.Там нет параметра :l.Я пробовал .parent вместе с .root - ни один не работает.Я пробовал ActivatedRouterSnapshoot - тоже ничего не получается.


Резюме: мне нужно изменить перенаправленные ссылки в моей навигации на основе текущего значения параметра :l.Как я могу прочитать значение :l из ActivatedRoute, введенного во вспомогательный компонент?

...