setData
函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的this.data
的值(同步)。
异常原因
setData()
函数先改变this.data
的值(同步),再将修改后的值从js发送到wxml(异步),因此可能会导致在data值修改成功之前,就已经执行了后续代码,导致后面要用到修改后的值的逻辑部分出错。
解决方案
在setData()函数后加入回调函数:
this.setData({
yourData: value,
},()=>{
成功修改data值后要执行的代码块
})