请问下,谁能讲解下这三者关系,用久了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倒是变成了最新的值。
- 问题是我用wepy时,@tap=“callFun”,分别绑定了如下两种setData的方法,结果完全不一样
data = { first: -2, sth: { sec: -2 } } // 这个方法虽然调用时,成功了,设完后,又很快变回初始值
first: this .data.first = 1 // 设置后值会瞬间被变回原始值-2
this .setData({ 'sth.sec' : this .sth.sec = 1 // ok 一直是1
|
我已经疯了,哪个大神能帮忙解释下,微信的小程序好坑爹的感觉 ,另外这个提交问题的编辑器老是光标消失,然后 不能打字,要按tab很多下,或者回车然后又出现光标