Угловая маршрутизация: при пустом маршруте перенаправить на путь в зависимости от значения переменной - PullRequest
0 голосов
/ 21 февраля 2019

Я разрабатываю приложение angular 7, у меня есть простой модуль маршрутизации

const routes: Routes = [
  { path: ':lang', component: HomeComponent },
  { path: '',   redirectTo: '???', pathMatch: 'full' },
  { path: '**', component: PageNotFoundComponent }
];
@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule {}

Приложение имеет 3 языка, и я использую @ngx-translate.Я хотел бы знать, как лучше всего перенаправить на пустом пути правильный путь к домашней странице в зависимости от языка браузера, получаемый путем вызова метода getBrowserLang() из TranslateService.Поскольку язык браузера не может быть в числе допустимых языков или в правильном формате ISO, мне нужно обработать эти данные в функции для фильтрации любых недействительных данных, что-то вроде этого:

validateLang() {
    const lang: string = this.translate.getBrowserLang();
    if (lang === 'en' || lang === 'it' || lang === 'es') {
      return lang;
    }
    return 'en';
 }

Код вышевызывается в функции ngOnInit компонента App, но мне нужен способ предоставить результат этой функции в поле redirectTo пустого маршрута или любой другой способ решения моей проблемы.

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