解决vux的scroller组件无限加载引起的页面性能下降和页面卡顿的问题

本文探讨了在使用vux的scroller组件实现无限加载功能时遇到的页面性能下降和卡顿问题。通过调整@on-scroll-bottom事件处理,设置状态值避免多次请求,以及切换到@on-pullup-loading用户触发加载,成功减少了请求次数,解决了页面卡死现象。同时,还提到利用pullup-config配置进一步优化了上拉加载的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

页面列表中需要加入滑动到底部加载新数据的功能,用了vue-scroller中的infinite方法,但还是会有问题,比如有时候上拉加载两次之后就不再加载新数据,目前还没找到解决方案。

因为项目中刚好引用了vux,所以就改用vux的scroller,虽然已不再维护,但基本能满足业务需求。刚开始的使用方法如下:

 <scroller @on-scroll-bottom="infinite" lock-x height="100%">
    <div v-for = "item in 50">滚动内容{{item}}</div>
 </scroller>

用的是@on-scroll-bottom方法,当滑动到底部的时候加载新的数据,但是由于此事件会被多次触发,所以需要一个状态值去判断时候需要继续加载,官方文档中也提到了这一点:


于是在代码中加入状态值去判断是否需要加载数据,但还是在滚动的时候请求了很多次,导致页面卡死。又在第一次请求完之后,调用了此方法:


来停止上拉,发现并不起作用。

然后换一个方法,将scroll-bottom方法换成用户触发的上拉状态,即@on-pullup-loading,然后用状态值去判断是否加载数据,这样每次都是用户触发上拉操作加载新数据,不会有多次请求的问题。

还有一个就是里面pullup-config配置的问题,可以添加如下:

upConfig:{
  content: '上拉加载更多',
  downContent: '上拉加载更多',
  upContent: '上拉加载更多',
  loadingContent: '加载完成',
},
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值