我我的猜想多是對路由的數據檢測深度不夠吧,單純修改query裏面的屬性是不能觸發數據驅動的,所以要直接給query賦值新的對象才能驅動數據更新,作法以下javascript
第一種java
var query=JSON.parse(JSON.stringify(this.$route.query)) query.id="success" this.$router.push({path:'/url',query:query})
第二種this
var query={id:'123456'} this.$router.push({path:'/',query:query})
兩種方法都大同小異,原理都是給query新的對象,而不是修改query的屬性值,由於query本質是一個對象地址,指向存放這個對象的堆空間,堆空間改變,query值並無改變,所以route會認爲數據沒有改變而沒有更新路由。url