解決vue修改路由的查詢字符串(query)url不改變,頁面不刷新問題

我我的猜想多是對路由的數據檢測深度不夠吧,單純修改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

相關文章
相關標籤/搜索