翻译我的 Url Angular 2 - Typescript
Translate my Url Angular 2 - Typescript
Angular2 - TypeScript - ng-Translate
大家好,
我需要根据所选的语言 "en/soybean"、"fr/soya" 来更改 url 的其余部分。在我的 app.routes 中,我得到了这条路径:
{ path: ':lang/soybean', component: SoybeanComponent }
我的 SoyBean 组件是使用 ng-translate 从 lang 参数翻译而来
this.route.params.subscribe(params => {
translate.use(params['lang']);
})
如何将 url 显示为 fr/soya 但仍使用路径 fr/soybean !?
我试过的
*我创建了一个新路径:{ path: ':lang/soya', component: SoybeanComponent },
我想我可以将用户重定向到好的路径 :
if(params['lang'] === 'en'){
this.router.navigateByUrl('lang/soybean');
}
if(params['lang'] === 'fr'){
this.router.navigateByUrl('lang/soya');
}
但它会导致无限加载。
然后我想我可以在重定向后对 lang 参数进行硬编码:
if(params['lang'] === 'en'){
this.router.navigateByUrl('en/soybean');
}
if(params['lang'] === 'fr'){
this.router.navigateByUrl('fr/soya');
}
但在这种情况下我会捕获异常。*
你太复杂了:-)。
刚刚使用了带反引号的模板字符串
url = `${lang}/${i18name}`
我用 location.replace(newUrl)
找到了自己的解决方案
我创建了一条新路径:{ path: ':lang/soya', component: SoybeanComponent }
在我的组件中我使用 location.replace(url)
this.route.params.subscribe(params => {
translate.use(params['lang']);
switch (params['lang']) {
case 'en':
location.replace(`index.html#/${params['lang']}/soybean`)
break;
case 'fr':
location.replace(`index.html#/${params['lang']}/soya`);
break;
}
})
这对我有用!如果您知道更好的解决方案,我会很高兴听到它!谢谢!
Angular2 - TypeScript - ng-Translate
大家好,
我需要根据所选的语言 "en/soybean"、"fr/soya" 来更改 url 的其余部分。在我的 app.routes 中,我得到了这条路径:
{ path: ':lang/soybean', component: SoybeanComponent }
我的 SoyBean 组件是使用 ng-translate 从 lang 参数翻译而来
this.route.params.subscribe(params => {
translate.use(params['lang']);
})
如何将 url 显示为 fr/soya 但仍使用路径 fr/soybean !?
我试过的
*我创建了一个新路径:{ path: ':lang/soya', component: SoybeanComponent },
我想我可以将用户重定向到好的路径 :
if(params['lang'] === 'en'){
this.router.navigateByUrl('lang/soybean');
}
if(params['lang'] === 'fr'){
this.router.navigateByUrl('lang/soya');
}
但它会导致无限加载。
然后我想我可以在重定向后对 lang 参数进行硬编码:
if(params['lang'] === 'en'){
this.router.navigateByUrl('en/soybean');
}
if(params['lang'] === 'fr'){
this.router.navigateByUrl('fr/soya');
}
但在这种情况下我会捕获异常。*
你太复杂了:-)。 刚刚使用了带反引号的模板字符串
url = `${lang}/${i18name}`
我用 location.replace(newUrl)
找到了自己的解决方案我创建了一条新路径:{ path: ':lang/soya', component: SoybeanComponent }
在我的组件中我使用 location.replace(url)
this.route.params.subscribe(params => {
translate.use(params['lang']);
switch (params['lang']) {
case 'en':
location.replace(`index.html#/${params['lang']}/soybean`)
break;
case 'fr':
location.replace(`index.html#/${params['lang']}/soya`);
break;
}
})
这对我有用!如果您知道更好的解决方案,我会很高兴听到它!谢谢!