Page({
data: {
list: [{
'A': 11,
'B': 12
},
{
'A': 21,
'B': 22
},
{
'A': 31,
'B': 32
},
{
'A': 41,
'B': 42
}
],
A: 0
},
onLoad: function(options) {
var that = this
console.log("111")
console.log(this.data.list)
setTimeout(function() {
console.log("设值")
var str='list[0].A'
that.setData({
[str]: 2
}, function() {
console.log("设值完成")
console.log(that.data.list)
})
}, 1000)
console.log("222")
console.log(this.data.list)
}
})
为什么我加了延迟 111和222后的list[0].A还是2 这个时候都还没有执行setData
单独打印一下试试console.log(this.data.list[0].A)
不好意思,刚看错了 单独打印list[0].A的结果是正确的 但是打印list是就不对 这是为什么
确定?
是的 我刚试了
list指向的是内存地址,不管你怎么改,list总是指向那个地址
但是 setData不是都没有执行吗? 值为什么会变