微信小程序scroll-view滚动一次多次触发的问题解决方案

时间:2024-11-23 17:07:31

最近使用微信小程序开发的时候,需要用scroll-view的bindscrolltolower事件,控制加载下一页的内容。但是发现在ios里,下拉滚动一次,事件触发两次,导致重复加载数据。

经过百度和亲身试验,可以采用用bool变量控制的方法解决这个问题:

1、在data中定义bool变量

//是否正在处理滚动事件,避免一次滚动多次触发
isScrolling:false

2、bindscrolltolower事件处理函数中,进入时判断是否正在处理,并设置isScrolling值为true;退出时设置isScrolling值为false

if(this.data.isScrolling===true)
return;
this.data.isScrolling=true;
//业务逻辑代码
..........
this.data.isScrolling=false;