在正常情况下
page({ data:{ s1:{a:"",b:"b"} }, changeData:function(e){ var cData=this.data.s1; cData.a="1";//先修改json值 this.setData({ //再set值 s1:cData }) } })
这种方法。()的性能经验很差
在开发微信小程序时,使用和修改数据中的数据时,各种情况的解决方案如下:
data:{ code:'9527', baseInfo:{ name:'夏尔', age:19 }, family:[{ name:'大头爸爸', age:'46' },{ name:'美丽妈妈', age:'45' }] }
1。直接修改数据的某些属性
this.setData({ code:'007' })
2。修改数据中数组或对象的属性
this.setData({ 'baseInfo.age':24 })
3。根据条件(关键点)的选择性更改
假设需要根据某种情况下的条件更改某个值的某个属性,则需要将属性转换为字符串,然后将其包装在括号中。
//假设更改了相应的属性值
var temp_str='this.data.family['+index+'].age'; this.setData({ [temp_str]:44 });
—————————————————
版权声明:本文是CSDN博客作者“ It Owl”的原始文章。它遵循CC 4.0 BY-SA版权协议。重印时,请附加原始源链接和此语句。
原始链接: