js中传递对象的键名的方法

起因,我们在小程序中经常会设置或更改  data 中的变量  (我这里只考虑每次只修改一个变量的情况)

代码是这样写的

this.setData({
    currentIndex:e.detail.currentIndex
})
基本上每个方法中都有改变变量的值

这个代码要三行,看着不爽,于是我就想在 app.js中定义一个公用的函数    因为每个页面上都有 app=getApp()

于是在app.js下就设计了一个函数

setDataOne(paramkey, value, _this){
    _this.setData({
        paramkey:value
    })
}
之后就在页中这样调用

app.setDataOne("currentIndex",e.detail.currentIndex,this);
一行就完成了,

 

咋一看,代码好像没有问题,但是一测试,就有问题了,

问题的原因在于,js的对象的  键,不支持使用 字符串来传参    所以这个 “currentIndex” 当键 传过去是不行的  

豆办上找到这个文章可以了解下,跟本文关系不太大    https://www.douban.com/note/625698916/

我的解决办法是 修改app.setDataOne  这个函数

代码如下:

setDataOne(paramkey,value,_this){
     let obj={};
     obj[paramkey] = value;
    _this.setData(obj)
}
这样就解决问题了,当然解决办法还有很多,我只记录下我的解决过程
原文链接:https://blog.csdn.net/hjh15827475896/article/details/102523131

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值