小程序中获取当前data定义的值,用this.data.xxx
setData的时候要修改的值是不需要加this.data.xxx的,直接xxx,
一般直接修改data的值直接修改,修改数组中对象的值或者对象的属性值都要先转为字符串再加中括号,如果有变量可以用ES6的模版字符串反单引号或者字符串拼接一下。
Page({
data: {
currentValue:"aa",
todoLists:[
{
detail:"",
date:"",
location:"",
priority:"",
remark:"",
dateStatus:false,
locationStatus:false,
dateRepeat:false,
completeStatus: false,
currentInput:'',
},
{
detail: "",
date: "",
location: "",
priority: "",
remark: "",
dateStatus: false,
locationStatus: false,
dateRepeat: false,
completeStatus: false,
currentInput:'',
}
],
aa:{
a:1,
b:2
}
},
tickToComplete:function(e){
//修改数组中对象的值
let index = e.currentTarget.dataset.index;
let completeStatus = `todoLists[${index}].completeStatus`;
this.setData({
[completeStatus]: !this.data.todoLists[index].completeStatus
})
//修改对象中的属性值
this.setData({
['aa.a']: 3
})
console.log(this.data.aa.a); //3
//修改普通data值
this.setData({
currentValue: "bbb"
})
},
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有