语言作为 Vue 路由器中的参数
Language as param in Vue Router
我想在我的路径中有一个语言参数。例如路径前有en
,打印en
.
如果我输入 http://localhost:8080/en
它会给我 en
但如果我输入 http://localhost:8080/en/aaaa
它会 return 我 undefined
我怎样才能得到 en
?
const routes = [
{
path: "/:lang?",
children: [
{
path: home,
component: home
}
]
}
]
router.beforeEach((to, _, next) => {
console.log(to.params.lang);
}
可以使用纯javascript获取当前url,通过split获取参数
let myListParams = window.location.href.split('/');
假设您计划为您的应用程序添加不同的语言支持,我建议您改用 i18n,因为它会抽象掉诸如为不同语言附加参数之类的东西。
关于您为什么得到 undefined
的具体问题,这可能只是因为 /aaa
路线没有查看页面或路线。所以 Vue 只是对你想去的地方感到困惑。
我想在我的路径中有一个语言参数。例如路径前有en
,打印en
.
如果我输入 http://localhost:8080/en
它会给我 en
但如果我输入 http://localhost:8080/en/aaaa
它会 return 我 undefined
我怎样才能得到 en
?
const routes = [
{
path: "/:lang?",
children: [
{
path: home,
component: home
}
]
}
]
router.beforeEach((to, _, next) => {
console.log(to.params.lang);
}
可以使用纯javascript获取当前url,通过split获取参数
let myListParams = window.location.href.split('/');
假设您计划为您的应用程序添加不同的语言支持,我建议您改用 i18n,因为它会抽象掉诸如为不同语言附加参数之类的东西。
关于您为什么得到 undefined
的具体问题,这可能只是因为 /aaa
路线没有查看页面或路线。所以 Vue 只是对你想去的地方感到困惑。