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);