vue-router如何響應路由參數變化?


問題:為什么要響應參數變化?

  • 切換路由,路由參數發生了變化,但是頁面數據並未及時更新,需要強制刷新后才會變化。
  • 路由后面參數不同渲染相同的組件時(組件復用比銷毀重新創建效率要高),在切換路由后,當前組件下的生命周期函數不會再被調用。

解決方案:

  1. 使用 watch 監聽
watch: {
    $route(to, from){ if(to != from) { console.log("監聽到路由變化,做出相應的處理");
        this.getData(to.meta.id) } } }
  1. 向 router-view 組件中添加 key
    <router-view :key="$route.fullPath"></router-view>

$route.fullPath 是完成后解析的URL,包含其查詢參數信息和hash完整路徑


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM