this.小程序setData, this.data, this.$data的关系
3506关注10748浏览
请问下,谁能讲解下这三者关系,用久了Vue,来看这东西,不伦不类的, 而且我遇到了很多bug。
this.setData() -> 我的理解是抄袭react的setState()
的解释 setData
函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data
的值(同步)
可你有个代码示例是:
changeNum: function() { this.data.num = 1
this.setData({
num: this.data.num
})
},
既然都说会同步改变对应的this.data的值,上面的this.data.num = 1这句话,岂不是多次一举
实际测试时,发现不调用this.data.num的话,你在语句执行后,执行console.log(this.data.num),你又会神奇的发现,值还是this.setData之前的值,所以好坑啊,还必须加上。此时this.$data.num倒是变成了最新的值。
2. 问题是我用wepy时,@tap="callFun",分别绑定了如下两种setData的方法,结果完全不一样
谢谢,我用原生的代码测试,确实没有问题,冤枉小程序了,看来wepy确实要背这个锅了