我想更新有关URL的查询。但是,$ router.push不会更新url。每个呼叫的disp
是不同的值。为什么?
handle: function(disp) {
let route = Object.assign({}, this.$route);
route.query.disp = disp;
this.$router.push(route);
},
版本。
"vue": "^2.5.17",
"vue-router": "^3.0.1",
路由(console.log)
答案 0 :(得分:2)
您不应该尝试推送到路由对象。相反,您应该使用以下选项之一:
// literal string path
router.push('home')
// object
router.push({ path: 'home' })
// named route
router.push({ name: 'user', params: { userId: 123 }})
// with query, resulting in /register?plan=private
router.push({ path: 'register', query: { plan: 'private' }})
在您的情况下:
this.$router.push({path: this.$route.path, query: {disp: disp}})
答案 1 :(得分:0)
我停止了this.$route
对象的复制。很好。