Angular 角度布线-如何制定路径?
目标:我希望将站点路由到EN或ES版本。更具体地说,如果他们选择西班牙语,应该:Angular 角度布线-如何制定路径?,angular,typescript,Angular,Typescript,目标:我希望将站点路由到EN或ES版本。更具体地说,如果他们选择西班牙语,应该: 从: 致: 基本上我需要localhost:4200/en才能转到localhost:4200/es 反之亦然,如果他们选择英语 但是,我不能硬编码它,因为Dev/Rel/Prod的根目录不同 问题:它总是路由到: 我所尝试的: 当我这样做时: if (event.value == "es") { this.routerService.navigate(['/es/']); } 我得到: 我也得到了同
- 从:
- 致:
if (event.value == "es") { this.routerService.navigate(['/es/']); }
我得到:
我也得到了同样的结果:
if (event.value == "es") { this.routerService.navigate(['es/']); }
if (event.value == "es") { this.routerService.navigate(['/es']); }
预期结果:
实际结果:
您的路由器基本路径似乎包括
/en
。你有两个选择
1) 使用。/
和relativeTo:this向后导航。路线如下:
this.routerService.navigate(['../es'], {relativeTo: this.route});
您必须像这样在构造函数中注入route
constructor(
private routerService: Router,
private route: ActivatedRoute, {
}
2) 从基本路径中删除/en
,然后使用:
switch(event.value) {
case 'es':
this.routerService.navigate(['/es']);
break;
case 'en':
this.routerService.navigate(['/en']);
break;
}
请包括您的路由文件,并说明您使用什么进行翻译?路由器允许导航到应用程序的路由。而不是其他应用程序的URL。使用window.location的普通旧链接我认为这是this.routerService.navigate(['/es']
应与路由器一起使用。导航
。如果您使用的是窗口。位置
请尝试window.location.href='/es'
@AshotAleqsanyan,我尝试过使用window.location.href。我没有使用window.location.href=window.location.hostname+“/es/”根据调试器,.hostname是localhost。但它仍然将其指向:请使用此window.location.href='/es'
谢谢。我尝试了选项1。我使用了../。出于某种原因,我只能返回到localhost:4200/en/#。因此,当我使用它时,我仍然可以