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//(这样才能实现数据变更)
})