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

tech2022-09-21  62

刚开始撸代码没感觉到有这个问题,自测的时候就突然感觉不对劲了。。。 正常需求,从一个页面跳转到另一个页面,通常习惯使用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), 二是传递字符串,可以自己加数据字段,如: 搞定啦!

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

最新回复(0)