vue-router中参数传递

左心房为你撑大大i 提交于 2020-02-15 15:51:18

VUE路由之间携带参数

今天在实现一个功能的时候遇到的问题,一个把组件a中的值传输到组件b中时,但是组件a和组件b之间通信的时候路由跳转了

猜想:路由跳转导致监听事件失败,(暂时理解为:当路由跳转后监听不到这个事件,因为是路由跳转了)

解决方法:通过路由携带参数代替组件通信

 

方法一:通过query携带参数

//login组件
this.$router.push({path:'/user',query:{userid:'001'})

//user组件
this.$route.query.userid ->'001'

缺点:传递的参数会通过在地址栏中显示

  

 

 

 

方法一:通过params携带参数

//login组件
//login组件
this.$router.push({name:'user',params:{userid:'001'})

//user组件
this.$route.params.userid ->'001'

注:如果通过params传递参数需要使用路由的naem属性进行跳转

 

 

 

 

除此之还有的就是在路由中写的是

//login组件
//router.js
const router = new VueRouter({
   routers:[
     {path:'/login',name:'Login',componentor:'Login'},
     {path:''/user/:userid',name:'User',componentor:'User'}
   ]
})
//login
this.$router.push({path:'/user/001'}) 
//user
this.route.params.userid -> 001


浏览器的地址栏中是: xxxxxx/user/001     

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!