我正在开发一个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';
}
上面的代码在App组件的ngOnInit函数中调用,但是我需要一种方法来将该函数的结果提供给空路由的redirectTo字段,或者通过其他任何方式来解决我的问题。