一般情况下
page({
data:{
s1:{
a:"",b:"b"}
},
changeData:function(e){
var cData=this.data.s1;
cData.a="1";//先修改json值
this.setData({
//再set值
s1:cData
})
}
})
这种this.setData()
的方式性能体验差
开发微信小程序时,使用setData修改data中数据时,针对各种情况的解决方案如下:
data:{
code:'9527',
baseInfo:{
name:'夏尔',
age:19
},
family:[{
name:'大头爸爸',
age:'46'
},{
name:'美丽妈妈',
age:'45'
}]
}
一、直接修改data的某个属性
this.setData({
code:'007'
})
二、修改data里的数组或对象的属性
this.setData({
'baseInfo.age':24
})
三、根据条件有选择性的改变(重点)
假设某种情况要根据条件改变某个特定值的某个属性,那么就需要先将要改变的属性转换成字符串,再用中括号括起来就可以了。
//假设改变对应index的某个属性值
var temp_str='this.data.family['+index+'].age';
this.setData({
[temp_str]:44
});
————————————————
版权声明:本文为CSDN博主「I-T枭」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hahahhahahahha123456/article/details/100552876