uni-app 官方swiper组件的@change事件中使用较长方法名导致无法编译通过

uni-app 官方swiper组件的@change事件中使用较长方法名导致无法编译通过

开发环境 版本号 项目创建方式
Windows win10 专业版 版本号2004 HBuilderX

操作步骤:

真机调试时,在官方swiper组件的@change事件中使用比较长的方法名导致无法编译通过(一直卡在“正在编译中…”那里,HBX再没有任何反应),方法名为:@change=“refreshIfFirstTimeDisplaySecondSwiperItem” 改成@change="abcd"就没事了。

预期结果:

真机调试时,在官方swiper组件的@change事件中使用比较长的方法名导致无法编译通过(一直卡在“正在编译中…”那里,HBX再没有任何反应),方法名为:@change=“refreshIfFirstTimeDisplaySecondSwiperItem” 改成@change="abcd"就没事了。

实际结果:

真机调试时,在官方swiper组件的@change事件中使用比较长的方法名导致无法编译通过(一直卡在“正在编译中…”那里,HBX再没有任何反应),方法名为:@change=“refreshIfFirstTimeDisplaySecondSwiperItem” 改成@change="abcd"就没事了。

bug描述:

真机调试时,在官方swiper组件的@change事件中使用比较长的方法名导致无法编译通过(一直卡在“正在编译中…”那里,HBX再没有任何反应),方法名为:@change=“refreshIfFirstTimeDisplaySecondSwiperItem” 改成@change="abcd"就没事了。


更多关于uni-app 官方swiper组件的@change事件中使用较长方法名导致无法编译通过的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app 官方swiper组件的@change事件中使用较长方法名导致无法编译通过的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个问题是由于方法名过长导致编译时解析异常。在uni-app的模板编译过程中,较长的属性值可能会在某些情况下触发编译器的解析限制或内存问题。

解决方案:

  1. 缩短方法名:将 refreshIfFirstTimeDisplaySecondSwiperItem 改为较短的名称,如 refreshSecondItem
  2. 使用methods中的方法:确保在methods中定义对应的方法
  3. 检查编译器版本:更新HBuilderX到最新版本,可能已修复相关解析问题

示例代码:

<swiper [@change](/user/change)="refreshSecondItem">
  <!-- swiper内容 -->
</swiper>

<script>
export default {
  methods: {
    refreshSecondItem(e) {
      // 原refreshIfFirstTimeDisplaySecondSwiperItem的逻辑
    }
  }
}
</script>
回到顶部