vue router:解決相同路徑不同路由參數跳轉同一頁面,路由參數不動態刷新的問題


問題描述

       當我們使用同一路徑跳轉不同頁面時,路由參數不會刷新,所以組件中接收不到,比如我的路由定義和路由跳轉鏈接如下:

       當然我們人為不肯直接這樣寫啦~這里模擬問題寫的demo

采用 watch 監聽

       1. 在點擊跳轉的組件中使用 watch 進行檢測動態改變路由參數:

watch: {
    // 利用watch方法檢測路由變化:進行重新賦值
    $route: function(to, from) {
      if (to.path !== from.path) {
        this.maintype = to.params.maintype // 獲取參數 這里的 mainTpe 是我的路由參數
      }
    }
  }

在這樣配置完成之后我還出現了警告,如果沒有可以忽略繼續
       2. 在頁面不使用 props 來接收路由參數,而采用data進行定義

data() {
    return {
      mainType: this.$route.params.mainType,  // 這里的mainTpe是我的路由參數
    };
  },

       這種場景可以用在我們需要根據路由參數渲染頁面的不同數據,主頁面是一樣的,比如我有許多的分類管理,那么我們就可以這樣抽離成一個主頁面和路由,在組件中根據路由參數來去調用接口進行頁面數據的賦值。

有不對和疑問歡迎指出☞


免責聲明!

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



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