【发布时间】:2020-06-07 14:23:36
【问题描述】:
我有一个多语言的 Vue (Nuxt) 应用程序。基于我在 URL 中设置选定的语言/区域设置,例如http://www.example.net/sv-SE/somepage.
路由使用可选的 iso 代码注册:/:iso_code([a-z]{2}-[A-Z]{2})?/somepage。这一切都按预期工作。
现在我的问题是:我有一个语言下拉菜单,用户可以在其中设置所需的语言。有什么方法可以更新上面的路由参数iso_code,而不诉诸history.replaceState?
我尝试了路由器 API,但没有成功。网址没有更新,即如果网址是http://www.example.net/sv-SE/somepage,则运行代码时sv-SE不会被en-US替换:
this.$router.replace({ path: this.$route.fullPath, params: { iso_code: 'en-US' } })
【问题讨论】:
标签: javascript vue.js nuxt.js