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


我個人猜測可能是對路由的數據檢測深度不夠吧,單純修改query里面的屬性是不能觸發數據驅動的,因此要直接給query賦值新的對象才能驅動數據更新,做法如下

第一種

 var query=JSON.parse(JSON.stringify(this.$route.query))
query.id="success"
this.$router.push({path:'/url',query:query})

 

第二種

var query={id:'123456'}
this.$router.push({path:'/',query:query})

兩種方法都大同小異,原理都是給query新的對象,而不是修改query的屬性值,因為query本質是一個對象地址,指向存放這個對象的堆空間,堆空間改變,query值並沒有改變,因此route會認為數據沒有改變而沒有更新路由。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM