NO1.$router使用params来传递参数
在传值页面的写法
//用这种方法传参,必须这么些,不能写path,
//否则你在取参数的时候this.$router.params.userId就是undefined
//.这是因为,params只能用name来引入路由
this.$router.push({
name:"'Message'",//这个name就是你刚刚配置在router里边的name
params:{
userId:"10011"
}
})
在取值页面的写法
this.$route.params.userId
NO2.$router使用query来传递参数
传值
this.$router.push({
path:"/login",//这个path就是你在router/index.js里边配置的路径
query:{
userId:"10011"
}
})
取值
this.$route.query.userId
两者的区别
- query可以通过name属性或者path属性来引入路由,而params只能通过name属性来引入路由;在使用params传递时如果指定了path属性而没有name属性,那么界面能成功跳转但是不能接受到传递过来的参数
- query传递参数时会地址栏会发生改变,传递参数会携带在路径中,而params则不会
- 在刷新界面时,query传递的参数不会丢失,而params会丢失