Vue 路由器"push"如何保留路径的查询字符串



router.js

...
const routes = [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/x',
name: 'X',
component: X
}
];
...

x.vue

...
mounted() {
const definedElsewhere = '/?a=b&c=d';
this.$router.push({ path: definedElsewhere });
// This seems to work but I don't know how to access "resolve()"
// inside "beforeRouteEnter()" with "next()".
// this.$router.push(this.$router.resolve(definedElsewhere));
}
...

很好:我被重定向了"家";。

错误:除非使用query: { a: 'b', c: 'd' },否则不会保留查询字符串。

问题:有没有一种方法可以在不在push()中使用query{}的情况下保留查询字符串?

如果您正在处理一个硬编码字符串,您可以按原样将其传递到push方法中。查看文档中的第一个示例。

this.$router.push(definedElsewhere);

最新更新