Vue router的query对象里的值的问题
2024-08-31 16:48:09
在使用 $router.push() 时,如果使用了query,则可以在跳转后从query中获取到对应的参数。如果传的是字符串自然没问题,但是如果传的其他类型的数据,在跳转之后是正常的,而跳转之后再刷新一遍页面的话,query里面的属性的值都会变成字符串。例如:
this.$router.push({ name:'product', query: {canSee: false} });
最初跳转之后,this.$route.query.canSee打印的值是Boolean类型的。然后刷新一下,值就变成了String类型了。个人猜测是因为刷新后query的值是直接从页面URL中取的,而在页面URL上的参数的类型只能是字符串类型。
解决方法:
1. 在传值之前把要传的参数单独放到一个对象里,在放到query里面,然后进行JSON.stringify()处理,到了目标页面后再进行JSON.parse()处理,还原对象。这种方法的好处是可以一次性处理多个参数,而且适用度高,建议使用这种方法。
2. 传值前不做处理,到了目标页面后再单独对原本为非字符串的数据进行JSON.parse()处理。缺点是字符串类型的数据不能如此处理,要确保该数据不是字符串类型的。局限性大,不推荐适用。
相关文章:router路由跳转使用query传递参数刷新后数据无法获取
最新文章
- 新手码农浅谈观察者模式(java语言简单实现)
- SSH+Oracle10G抛Disabling contextual LOB creation as createClob() m
- viewpage图片轮播
- Java RMI(远程方法调用) 实例与分析 (转)
- 在Ubuntu 中使用Source Code Pro字体
- 浏览器选择最新IE渲染
- UiPath针对SAP的输入技巧
- Java程序设计与数据结构导论--读后感
- 四、latex字体字号设置
- 原生js轮播图实现
- [TenserFlow学习笔记]——安装
- 2018/03/07 每日一个Linux命令 之 cat
- pycharm运行pytest
- Elasticsearch之集群脑裂
- 【转载】oracle索引详解2
- hdu2083 简易版之最短距离 排序水题
- 【[USACO08JAN]haybale猜测Haybale Guessing】
- 我的CCF备考指南
- 6410在rvds下编译启动代码报错分析
- Domoticz 中添加彩云天气
热门文章
- SQL Source Control
- js数组去重的常用方法总结
- vue --- 脚手架初始化项目中配置文件webpack.base.conf.js代码含义
- 关于springmvc重定向后Cannot create a session after the response has been committed问题
- android+myeclipse+mysql下拉框数据绑定
- STM32CUBEF4 实现USB 虚拟串口
- CSUOJ 1549 Navigition Problem
- JAVA 并发编程-线程范围内共享变量(五)
- 归并排序_分治算法 (白书P226)
- jquery20--animate() : 运动的方法