美文网首页
微信小程序scroll-view上拉下拉多次触发问题分析及解决

微信小程序scroll-view上拉下拉多次触发问题分析及解决

作者: owlcity | 来源:发表于2023-10-16 16:34 被阅读0次

使用微信小程序开发的时候,需要用scroll-view的bindscrolltolower事件,控制加载下一页的内容。有可能多次下拉同一次请求或者下拉滚动一次触发两次事件,导致重复加载数据。

方案一:是使用setData设置是否在请求中的开关,在多次上拉和服务端数据发送缓慢的请求中,还是会出现多次请求

page{
  data{
    isRequesting:false
  },
    
  bindscrolltolower:function(){
    if(this.data.isRequesting){
      return false;
    }
    this.setData({
      isRequesting:true
    });
        
    //服务端数据请求
    wx.request({
      ...
      complete:()=>{
        this.setData({
          isRequesting:false
        });
      }
    });
  }
}

方案二:isRequesting 设置为全局变量(推荐)

let isRequesting = false;
page{
  bindscrolltolower:function(){
    if(isRequesting){
      return false;
    }
    isRequesting = true

    //服务端数据请求
    wx.request({
      ...
      complete:()=>{
        isRequesting = false
      }
      });
  }
}

相关文章

网友评论

      本文标题:微信小程序scroll-view上拉下拉多次触发问题分析及解决

      本文链接:https://www.haomeiwen.com/subject/ouaxidtx.html