个人经验总结
1. 字符串
data: {
name: '',
},
this.setData({
name: 'aaaa'
})
2. 数字
data: {
count: 0,
},
this.setData({
count: this.data.count + 1
})
3. 对象
data: {
user:{
name: '',
age: 10,
},
},
var name = "user.name";
var age = "user.age";
this.setData({
[name] : "username",
[age] : 15,
})
4. 数组
data: {
list: [{
name: 'a',
age: 10,
},{
name: 'b',
age: 20,
}],
},
var name1 = "list[0].name";
var age2 = "list[" + i + "].age"; // i=1
this.setData({
[name1] : "username",
[age2] : 15,
})
4.1. 数组 push
this.data.list.push(JSON.parse(JSON.stringify(this.data.temp)))
4.2. 给数组 第 i 个元素 赋值
var i = ; 自己确定 i 的值
var list = "list[" + i + "]"
var a = JSON.parse(JSON.stringify(this.data.temp))
this.setData({
[list]: a
})
4.3. 给数组 第 i 个元素 的某个属性 赋值
var i = ; 自己确定 i 的值
var list = "list[" + i + "].name"
this.setData({
[list]: "fuzhi"
})
5. 数组 push 的问题
1. xx.push 不是函数
数组是 [ ] 这个,只有 [ ] 才能用push
大部分错误 都是因为 { }
2. 最后一次push的内容 覆盖 前面的内容
深拷贝、浅拷贝问题
使用 JSON.stringify 转换成字符串,再用 JSON.parse 转换为对象
this.data.temp.push(JSON.parse(JSON.stringify(this.data.temp)))
若有错误,感谢指出~