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

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

Logo

前往低代码交流专区

更多推荐