<scroll-view class="scroll-area" type="custom" using-sticky scroll-y>
<!-- -->
<list-view>
<block wx:for="{{list}}" wx:key="index">
<horizontal-drag-gesture-handler worklet:ongesture="handleGesture" data-index="{{index}}">
<view>
<!-- -->
</view>
</horizontal-drag-gesture-handler>
</block>
</list-view>
</scroll-view>
handleGesture(event) {
'worklet';
if (this.data.flag) {
return false;
}
// ...
}
代码大概如上,我在`handleGesture`中处理手势操作,当flag为true的时候,就不处理手势了。
目前发现以上代码不行,handleGesture里面好像会无视flag的值,继续执行
已解决,使用共享值shared才行,否则读取到的this.data里面值始终是初始值。
onLoad() { this.flag = shared(false); }, handleGesture(event) { 'worklet'; if (this.flag.value) { return false; } // ... }