vue2.0 动态路由传参方法

来源:互联网 发布:网络社交的利与弊论点 编辑:程序博客网 时间:2024/06/06 11:43

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