牛骨文教育服务平台(让学习变的简单)
博文笔记

vue2.0 动态路由传参方法

创建时间:2017-05-17 投稿人: 浏览次数:6626

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



声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。