我无法从URL中找到lang-culture(例如en-US / he-IL等)作为参数。在我的app.router.ts
export const localeRouter: Routes = [
{
path: '',
redirectTo: 'he-IL',
pathMatch: 'full'
},
{ path: 'he-IL', children: ... },
{ path: 'en-US', children: ... }
];
export const routes: ModuleWithProviders = RouterModule.forRoot(localeRouter);
我生成的网址如下所示
www.domain.com/he-IL/auctions/1587(希伯来语)
www.domain.com/en-US/auctions/1587(英文)
我需要从URL获取此部分(lang-culture,例如en-US)以在ASP.NET MVC端加载该文化的资源。
我试图从我的组件上的ActivatedRoute
实例中找到它,但遇到了一些问题。
我发现的一种方法是:
this.route.parent.parent.snapshot.url
但问题是.parent
的序列在每个组件的基础上会有所不同,我想要一个适用于所有组件的通用解决方案。有什么建议吗?
答案 0 :(得分:0)
您可以使用以下方法获取网址上的第一个路径切片:
getLanguageFromLocation(): string {
const pathSlices = location.pathname.split('/');
if (pathSlices.length > 1)
return pathSlices[1];
if (pathSlices.length)
return pathSlices[0];
}