【发布时间】:2019-11-30 06:34:40
【问题描述】:
目标:我希望将站点路由到 EN 或 ES 版本。更具体地说,如果他们选择西班牙语,则应该:
基本上我需要 localhost:4200/en 去 localhost:4200/es
如果他们选择英语,反之亦然。
但是,我无法对其进行硬编码,因为 Dev/Rel/Prod 的根不同。
问题:它总是路由到:http://localhost:4200/en/#/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']); }
预期结果: http://localhost:4200/es/ 实际结果: http://localhost:4200/en/#/es
【问题讨论】:
-
请您包含您的路由文件并说明您使用什么进行翻译?
-
路由器允许导航到应用程序的路由。不是其他应用程序的 URL。使用一个普通的旧链接,window.location
-
我认为
this.routerService.navigate(['/es']应该与router.navigate一起使用。如果您使用的是window.location,请尝试window.location.href = '/es' -
@AshotAleqsanyan ,我尝试使用 window.location.href。我做了 window.location.href = window.location.hostname + "/es/" 。根据调试器,主机名是 localhost。但它仍然指向:localhost:4200/en/localhost/es
-
请你试试这个
window.location.href = '/es'
标签: angular typescript