Vue wacth路由

在用vue開發(fā)spa的時候,遇到過這樣一種情況,路由地址為http://localhost:8080/m/list/305038信息詳情頁面。
如圖所示:

圖片.png

圖片.png

但是在這信息詳情頁面下方有推薦信息,推薦信息的路由為http://localhost:8080/m/list/305004。相同路由具有不同參數的鏈接,后臺又是根據信息id獲取數據的,我們希望在vue中created方法里從根據id從后臺獲取信息詳情。

created () {
   this.loadData();
},

這是點擊推薦信息會發(fā)現根本沒有變化,路由參數變了,沒有像預想的一樣,調用created()方法中的this.loadData()向后臺請求加載數據。開始想是不是由于生命周期鉤子用的不對,緊接著又用了幾個鉤子例如activated() mounted() updated()發(fā)現皆不會被觸發(fā)。那該怎么辦? 聯想到vue的watch來觀察值的變化,試試能不能觀察路由參數變化,如果變化了,我就調用this.loadData()。沒想到還真的行,代碼如下:

watch:{
   "$route":"loadData"
}

看代碼知其意,監(jiān)聽route,如果改變了則調用loadData方法。解決問題,嘿嘿??赡苁菍ue了解不夠深入,目前還沒有發(fā)現更好的解決方案。如果你有快快在下方留言告訴我吧。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容