您好,登錄后才能下訂單哦!
這篇文章主要介紹vue中監聽路由參數的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Vue是一套用于構建用戶界面的漸進式JavaScript框架,Vue與其它大型框架的區別是,使用Vue可以自底向上逐層應用,其核心庫只關注視圖層,方便與第三方庫和項目整合,且使用Vue可以采用單文件組件和Vue生態系統支持的庫開發復雜的單頁應用。
在vue項目中,假使我們在同一個路由下,只是改變路由后面的參數值,期望達到數據的更新。
mounted: () =>{ this.id = this.$route.query.id; this.getdetail() }
getDetail()方法中會用到this.id這個參數,在同一頁面切換id的值,并不會觸發vue的聲明周期函數。
可以添加路由監聽:
watch: { $route: { handler() { this.id = this.$route.query.id; this.getDetail(); //深度監聽,同時也可監聽到param參數變化 }, deep: true, } }
ps:下面看下vue中監聽路由參數變化的方法
在vue項目中,假使我們在同一個路由下,只是改變路由后面的參數值,如果不監聽路由參數值的變化,頁面無數據刷新,需手動刷新瀏覽器,這樣做就不是我們的預期效果。
舉例:當前路由為 /pjthome?pjtid=123456
mounted: function () { this.pjtid = this.$route.query.pjtid this.pjtdetail() },
在頁面pjtdetail()方法中,需要用到pjtid這個參數,假如在同一頁面有相似項目切換,只是pjtid發生變化,在切換時,并未重新加載數據,原因是跟vue的生命周期有關,具體該解決這個問題,添加路由監聽即可。
exp:
watch: { $route(){ this.pjtid = this.$route.query.pjtid }, pjtid() { this.pjtdetail() }, }
解決。
以上是“vue中監聽路由參數的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。