Я разрабатываю приложение 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 пустого маршрута или любой другой способ решения моей проблемы.