在vue項目中,假使我們在同一個路由下,只是改變路由后面的參數值,期望達到數據的更新。
mounted: () =>{
this.id = this.$route.query.id;
this.getdetail()
}
getDetail()方法中會用到this.id這個參數,在同一頁面切換id的值,並不會觸發vue的聲明周期函數。
可以添加路由監聽:
watch: {
$route: { // 親測有效,我是用來監聽query參數變化
handler() {
this.id = this.$route.query.id;
this.getDetail();
//深度監聽,同時也可監聽到param參數變化
},
deep: true,
}
}

