vue-router 传参踩坑

原文链接:https://segmentfault.com/a/1190000012735168
vue-router传参踩坑(query和params),所以总结一下两者的区别
1.query方式传参和接收参数

传参:
this.$router.push({
  path:'/xxx'
  query:{
    id:id
  }
})

接收参数:this.$route.query.id

注意:

传参是$router,接收参数是$route!!!

2.params方式传参和接收参数

传参: 
this.$router.push({
  name:'xxx',
  params:{
    id:id
  }
})
  
接收参数:
this.$route.params.id

注意:

params传参,push里面只能是 name:'xxxx',不能是path:'/xxx',因为params只能用name来引入路由,如果这里写成了path,接收参数页面会是undefined!!!

两者的区别:

其实有点类似于get和post请求,直白的说:query相当于get请求,页面跳转的时候,可以在地址栏看到请求参数,而params相当于post请求,参数不会再地址栏中显示。

3.$router和$route的区别

在控制台打印两者可以很明显的看出两者的一些区别:
  • $router为VueRouter的实例,想要导航到不同URL,则使用router.push方法
  • $route为当前router跳转对象,里面可以获取name、path、query、params等
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容