vue 響應路由參數的變化

在我們用Vue做項目的時候,有時候需要在同一個路由下,只改變路由后面跟的參數值,當發生跳轉的時候網址導航欄確實改變了參數,但是頁面數據卻沒有根據路由的參數發生改變,需要手動刷新一下才有效果,但是這不是我們想要的效果。

例如從?/user/foo?導航到?/user/bar原來的組件實例會被復用。因為兩個路由都渲染同個組件,比起銷毀再創建,復用則顯得更加高效。不過,這也意味著組件的生命周期鉤子不會再被調用。詳情看官網Vue router

想要達到我們預期的效果,路由參數的變化作出響應的話,你可以用 watch (監測變化) $route?對象:

方法一:

// 監聽,當路由發生變化的時候執行

watch:{

??$route(to,from){

????????console.log(to.path);

????????// 對路由變化作出響應...

??}

},

方法二:

在父組件的router-view上加個key

<router-view :key="$route.fullPath"></router-view>

當然還有更多的解決方案,小飛就不一一實例了(因為小飛也不太懂,哈哈??)。想要看更多的解決方案,小伙伴們可以看看其他大牛的博客,或者官網。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容