相關文檔html
當使用路由參數時,例如從 /user/foo 導航到 /user/bar,原來的組件實例會被複用。由於兩個路由都渲染同個組件,比起銷燬再建立,複用則顯得更加高效。不過,這也意味着組件的生命週期鉤子不會再被調用。
來源於 Vue Router文檔
解決方法:vue
瞭解到問題後,我想到一種解決方法,用計算屬性與監聽函數監聽路由變化,觸發頁面數據更新函數, 試過直接監聽$route,結果會觸發,不過實際應用會報錯,感受應該是$route是全局對象的緣由, 因此我用了計算屬性將它轉化爲一個動態變量來監聽, 我的試用正常
相關代碼框架
computed: { // 計算屬性的 getter onQuery: function () { // `this` 指向 vm 實例 return this.$route.params } }, watch: { 'onQuery' (old, newValue) { // 對路由變化做出響應... if (newValue) { this.getPageInfo() } } },