<view class="tape" catch:longpress='touchdown' catch:touchend="touchup">
<image wx:if="{{!show}}" class="img" mode="aspectFit" src="{{imgPrefix+'/mp/img/tape.png'}}"></image>
<view wx:else class="animation">
<view class="ani"></view>
<view class="ani"></view>
<view class="ani"></view>
<view class="ani"></view>
</view>
</view>
data: {
imgPrefix: app.globalData.imgPrefix,
show:false
},
touchdown(e) {
console.log('长按');
this.setData({
show: true
})
},
touchup(e) {
console.log('松开');
this.data.show = false
this.setData({
show: false
})
},
只要同事在事件内写 this.setData({}) 就会导致松开事件不触发 要再次点击才会触发
touchdown和touchup方法里使用了this.setData。由于小程序的逻辑层和视图层是双线程,用了setData似乎对脚本产生了阻塞。
z这种情况怎么解决呢
哪里有touchstart