普通的直接就可以this.setData({ }), 即可修改, 可是复杂的,就不能这样了;
值得一说的小程序目前只能使用基本的属性, 对于函数属性,原生的还是没法支持的
小程序这一部分还是模仿react的
这个状态管理挺不错的:https://github.com/Tencent/westore?tdsourcetag=s_pctim_aiomsg
//data格式
data: {
addressData:{
name:'',
tel:'',
address:'',
more:''
},
defult:''
},
//setData的使用方法
that.setData({
['addressData.address']: 'hhhh'
})
复杂的场景:
this.setData({
discountList[index].click: 0 //index为下标(代码表示场景),这里这样会直接报错
})
//因为index为变量,且存在[],所以我们可以用拼接字符串的方式
let bingo= 'discountList[' + index +'].click'
that.setData({
[bingo]:1
})
//但是每次都要定义变量看起来就很复杂,不是很直观
//soso可以这样
that.setData({
[`discountList[${index}].click`]:1 //模板字符串里面用${}计算属性
})