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标签里的值不会发生改变



猜你喜欢

转载自blog.csdn.net/u011025329/article/details/72419481
今日推荐