记录关于Vue路由参数query和params的区别以及query传递对象遇到的坑

Vue之路由参数query和params的区别以及query传递对象遇到的坑

首先简单来说明一下$router和$route的区别

 $router : 是路由操作对象,只写对象

 $route : 路由信息对象,只读对象

query传参:

如何获取?

this.$route.query.insuraceDetailData即可拿到参数

我们的this.data是个对象

细心的小伙伴可以发现,为啥要用JSON.stringify(this.data)转换为 JSON 字符串,后面给大家解密

params传参:

我们获取params的参数可以这样

this.$route.params.insuraceDetailData

但是以params参数来获取,会有个问题

相信很多和我一样的Vue小白会遇到这么个坑

当刷新浏览器的时候,会发现获取不到参数了,或者参数丢失

而query参数却不会

细心的小伙伴可以发现浏览器上的url,query参数会体现在url上面而params却不会,这就是这2个的区别

那聪明的小伙伴就会说,那我一直用query不就行了嘛

但是他也有个问题,当我们query携带的参数为对象的时候,就比如说我们的this.data,这个时候,刷新浏览器,

会发现浏览器上面会有一串除了地址,后面拼接了看不懂的乱码参数在啊,但是this.$route.query.insuraceDetailData却拿不到了,这就是query的问题

那么怎么解决呢

可以用JSON.stringify(要传递的对象),接受的话用JSON.parse(this.$route.query.insuraceDetailData)

这样前面的问题就可以完美解决了!!!!

大家一起进步

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • VUE Vue :数据驱动的M V Vm框架 m :model(后台提供数据),v :view(页面),vM(模板...
    wudongyu阅读 10,780评论 0 11
  • 日常知识点总结(vue篇): 1、vue的生命周期: Vue实例从开始创建,初始化数据,编译模板,挂载Dom->渲...
    依稀_Sting阅读 4,125评论 0 2
  • 事件轮询
    鸿泽云码阅读 1,715评论 0 1
  • vue视频学习第二天笔记 复习 vue单文件方式 xxx.vue格式:template script style(...
    果木山阅读 3,610评论 2 1
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 11,610评论 0 4

友情链接更多精彩内容