1. 程式人生 > >vue2.0 動態路由傳參方法

vue2.0 動態路由傳參方法

因為是用element-ui渲染出來的tree選單,

每個節點完成路由只能使用程式設計式導航(在函式裡觸發路由)

並傳參需要元件需要獲取的資料

使用this.$router.push()

this.$router.push({name: '你路由的名字', query: {id: '可以是變數'}})


獲取的方法為

this.$route.query.id


文件中提到

提醒一下,當使用路由引數時,例如從 /user/foo 導航到 user/bar,原來的元件例項會被複用。因為兩個路由都渲染同個元件,比起銷燬再建立,複用則顯得更加高效。不過,這也意味著元件的生命週期鉤子不會再被呼叫。

複用元件時,想對路由引數的變化作出響應的話,你可以簡單地 watch(監測變化) $route 物件:
watch: { '$route' (to, from) { // 對路由變化作出響應... } }

也就是說當你把引數繫結到節點裡後

<p>{{params}}</p>
data () {
      return {
        params: this.$route.query.id
      }
    }

當引數發生變化時,你需要

watch: {
      '$route' (to, from) {
        this.params = this.$route.query.id
      }
    }

不然p標籤裡的值不會發生改變