vue中監(jiān)聽路由參數(shù)的變化及方法
在vue項目中,假使我們在同一個路由下,只是改變路由后面的參數(shù)值,期望達到數(shù)據(jù)的更新。
mounted: () =>{
this.id = this.$route.query.id;
this.getdetail()
}
getDetail()方法中會用到this.id這個參數(shù),在同一頁面切換id的值,并不會觸發(fā)vue的聲明周期函數(shù)。
可以添加路由監(jiān)聽:
watch: {
$route: {
handler() {
this.id = this.$route.query.id;
this.getDetail();
//深度監(jiān)聽,同時也可監(jiān)聽到param參數(shù)變化
},
deep: true,
}
}
ps:下面看下vue中監(jiān)聽路由參數(shù)變化的方法
在vue項目中,假使我們在同一個路由下,只是改變路由后面的參數(shù)值,如果不監(jiān)聽路由參數(shù)值的變化,頁面無數(shù)據(jù)刷新,需手動刷新瀏覽器,這樣做就不是我們的預(yù)期效果。
舉例:當前路由為 /pjthome?pjtid=123456
mounted: function () {
this.pjtid = this.$route.query.pjtid
this.pjtdetail()
},
在頁面pjtdetail()方法中,需要用到pjtid這個參數(shù),假如在同一頁面有相似項目切換,只是pjtid發(fā)生變化,在切換時,并未重新加載數(shù)據(jù),原因是跟vue的生命周期有關(guān),具體該解決這個問題,添加路由監(jiān)聽即可。
exp:
watch: {
$route(){
this.pjtid = this.$route.query.pjtid
},
pjtid() {
this.pjtdetail()
},
}
解決。
總結(jié)
以上所述是小編給大家介紹的vue中監(jiān)聽路由參數(shù)的變化及方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
vue 實現(xiàn)tab切換保持數(shù)據(jù)狀態(tài)
這篇文章主要介紹了vue 實現(xiàn)tab切換保持數(shù)據(jù)狀態(tài),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
Slots Emit和Props穿透組件封裝實現(xiàn)摸魚加鐘
這篇文章主要為大家介紹了Slots Emit和Props穿透組件封裝實現(xiàn)示例詳解,為摸魚加個鐘,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08

