vue路由传递参数类型number,刷新后自动转成字符串

刚开始撸代码没感觉到有这个问题,自测的时候就突然感觉不对劲了。。。
正常需求,从一个页面跳转到另一个页面,通常习惯使用id作为参数传递,id的值类型为number
在这里插入图片描述
分别点击这三个,传递参数id

html:
<ul class="personal_ul">
	<li class="personal_li" v-for="(item, index) in personalList" :key="index">
	   <img src="../../assets/serviceContent/dingliangyaoyue.png" alt="" class="personal_des_icon" @click="toPersonalInfo(item)">
	   <span class="personal_des_txt" @click="toPersonalInfo(item)">{{item.txt}}</span>
	 </li>
</ul>
js:
personalList: [
  { id: 1, txt: '主持人' },
  { id: 2, txt: '个人代理' },
  { id: 3, txt: '联络员' }
]

methods:
// 点击个人代理,跳转到个人代理基本信息
toPersonalInfo (item) {
  console.log(item)
  this.$router.push({ path: '/personalInfo', query: { id: item.id } })
}

在这里插入图片描述
在这里插入图片描述
这是第一次跳转过来的。
刷新当前页
在这里插入图片描述
在这里插入图片描述
路由参数没变,但是数据类型变成了string, 所以拿到数据用来判断就发生很大的误差了。
解决问题有很多种:一是拿到路由参数的地方强制转换:parseInt(this.$route.query.id), 二是传递字符串,可以自己加数据字段,如:
在这里插入图片描述
搞定啦!

最近魔性歌曲,兄弟想你了。。。哈哈哈

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值