QQ咨询 官方微信

添加微信好友

官方小程序

百度小程序

微信小程序

头条小程序

关于我们

vue教程

vue 路由传参,页面刷新后参数类型改变

 shitouadmin  2023-07-03 17:54:36
搞vue路由传参的时候,明明传的数字,但是还是提示传的是字符串,无法判断报错


原因是:

vue-router 传参,不管是 params 形式还是query形式传参,在页面刷新后,params 和 query
对象中的属性所对应的属性值都会被浏览器自身强制转换为string类型
(这一点与浏览器的sessionStorage和localStorage存储对象,对象会被转为string类型,不谋而合),破环原先属性值的数据类型。

解决方法:
将参数强制转为 Number类型:
  1. Number(this.$route.query.type) 
  1. parseInt(string);//将string类型转换成整数数值型(若有小数会取整) 
  1. parseFloat(string);//将string类型转换成浮点数数值型 

总结:
1、number数据类型:页面刷新后,其类型会转换为 string 类型。
所以,在路由刷新页面,在使用时,不管页面是否刷新,都对传递过来的属性值做一次Number()转换;
2、string数据类型:页面刷新后,其类型依然为string类型;
3、boolean数据类型:页面刷新后,其类型会转换为string类型。
所以,在路由刷新页面,在使用时,不管页面是否刷新,都对传递过来的属性值做一次Boolean()转换;
4、undefined数据类型:页面刷新后,其类型依然为undefined类型;
5、null数据类型:页面刷新后,其类型依然为null类型;
6、object数据类型:页面刷新后,其类型会转换为string类型;
所以,在路由跳转传参页面对属性值做一次JSON.stringify()预处理,然后在路由刷新页面对该值进行JSON.parse()转换。

¥ 打赏
×
如果您觉得文章帮助了您就打赏一下吧
非常感谢你的打赏,我们将继续分享更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

本文《vue 路由传参,页面刷新后参数类型改变》发布于石头博客文章,作者:shitouadmin,如若转载,请注明出处:https://www.pweb123.com/frame/vue/971.html,否则禁止转载,谢谢配合!

文章点评

我来说两句 已有0条评论
点击图片更换

添加微信好友

添加微信好友

微信小程序

百度小程序