uni-app nvue页面首次使用bindingX pan手势无回调事件,第二次及之后正常

uni-app nvue页面首次使用bindingX pan手势无回调事件,第二次及之后正常

操作步骤:

  • 每次打开页面第一次均没回调事件,第二次以后可以

预期结果:

  • 在ios手机中第一次执行touchstart方法,bindingx可以返回回调事件

实际结果:

  • 在ios手机中第一次执行touchstart方法,打印回调事件不执行,第二次拖拽后才执行

bug描述:

  • uni-app nvue页面使用BindingX在ios手机中第一次拖拽没有回调事件
信息类别 信息内容
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本 Windows10
HBuilderX类型 正式
HBuilderX版本 3.1.12
手机系统 iOS
手机系统版本 IOS 14
手机厂商 苹果
手机机型 iphone XR
页面类型 nvue
打包方式 离线
项目创建方式 HBuilderX

更多关于uni-app nvue页面首次使用bindingX pan手势无回调事件,第二次及之后正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

@horizontalpan 用这个

更多关于uni-app nvue页面首次使用bindingX pan手势无回调事件,第二次及之后正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在created() 或 mounted()里先执行一下 bind方法就可以了

这是一个已知的iOS平台bindingX初始化时序问题。在nvue页面首次加载时,bindingX的pan手势监听器可能还未完全初始化完成,导致第一次触摸事件无法正常触发回调。

建议在页面onReady生命周期中手动触发一次bindingX绑定,或者通过setTimeout延迟绑定操作。可以尝试以下解决方案:

  1. 在onReady中执行bindingX.bind方法
  2. 添加100ms左右的延迟确保bindingX完全初始化
  3. 检查bindingX绑定时机,确保在页面渲染完成后执行

代码示例:

onReady() {
  setTimeout(() => {
    // 执行bindingX绑定操作
  }, 100);
}
回到顶部