今天遇到一個這樣的業務場景:在同一個路由下,只改變路由后面的參數值,
比如在這個頁面 /aaa?id=1 ,在這個頁面中點擊一個按鈕后 跳轉到 /aaa?id=2 ,
但從“/aaa?id=1”到“ /aaa?id=2”是不會觸發vue的生命周期的,id變了,但頁面數據不會更新,
想要更新只能重新加載頁面(手動刷新),但是這多么low、孬呀,
作為一名追求極致用戶體驗的開發,怎么能容忍這種情況發生;
然后就想辦法監聽路由參數的變化呀,在watch里監聽$route和路由參數,代碼如下:
watch: { $route(){
this.userId= this.$route.query.id }, userId() { console.log("重新請求" + this.userId + "的數據") }
},
OK了