微信小程序--修改data数组或对象里面的值或者给对象添加键值对

1.初始data数据

Page({
    data:{ 

        code:'1234',
        reward:[{
            name:"艾伦",
            img:"../img/success.png",
            status:1
        },
        {
            name:"郝建",
            img:"../img/success.png",
            status:2,
            arr:[{
                flag:false
                }]
        }]
    }
})

2.直接修改data的某个属性

this.setData({
	code:'5678'
})

3.修改data里的数组或对象的属性

this.setData({
	'reward[0].name':"马丽"
})

4.根据条件有选择性的改变(数组或对象嵌套深入的)

var ab = "reward[1].arr["+index+"].checked"//添加键值对
this.setData({
    [ab]: false
})

var _ab = "reward[1].arr["+index+"].flag"//修改
this.setData({
    [_ab]: false
})

添加修改都可以用上述方法,先将需要添加或是修改的属性转换成字符串,再用this.setData进行修改data,修改时将字符串变量用中括号包起来即可。

 

需要注意的是:

var abc = this.data.reward;

abc.push({ name:"王宁", img:"../img/success.png", status:3})//这样添加数据,在控制台打印出来数据确实“变了”,但是页面数据并不会更改(假变更)

然后接着我们来数据变更

this.setData({

     reward:abc//(这样才能实现数据变更)

})

你可能感兴趣的:(微信小程序,数据)