vue2.0 动态路由传参方法
因为是用element-ui渲染出来的tree菜单,每个节点完成路由只能使用编程式导航(在函数里触发路由)并传参需要组件需要获取的数据使用this.$router.push()this.$router.push({name: '你路由的名字', query: {id: '可以是变量'}})获取的方法为this.$route.query.id文档中提到提醒一...
·
因为是用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标签里的值不会发生改变
更多推荐
已为社区贡献5条内容
所有评论(0)