Vue for循环请求同一url参数不同但参数覆盖问题

今天搞Vue 遇到一个比较怪异的问题,看代码

let self=this

for (let i = 0; i < data.length; i++) {

                let item = data[i]

                item['id'] = i + 1// 赋值序号

                item['similarity'] = parseFloat(item['similarity']).toFixed(2)

                // }

                this.resembleData = data

                // 分次请求轨迹数据

                let targetIdParam = item['targetId']

                self.queryTrajParams['targetId'] = targetIdParam

                self.queryTrajParams['sourceId'] = null

                console.log('targetId参数', targetIdParam)

                console.log('queryTrajParams', self.queryTrajParams)

                axios.get(serviceUrl.trajectoryDataUrl, {

                  params: self.queryTrajParams

                }).then(res => {

....省略 

发现network请求的url参数同一个,而且都是最后一个,看来是参数被覆盖了,我是Java出身,碰到这种问题一脸懵逼

是一枚前端小菜鸡,不过我隐约发现是参数的类型原因,然后我试了下基本数据类型,只传number类型,果然能传成功

看来就是对self.queryTrajParams进行一下转换

 let queryParam = JSON.parse(JSON.stringify(self.queryTrajParams))

使用let 对参数进行重定义,let会生成一份临时傀儡代码块,每次都会生成!!

axios.get(serviceUrl.trajectoryDataUrl, {

                  params: queryParam 

                }).then(res => {

然后ok!!完美解决问题!!mark下

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力终会有回报

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值