Vue.js框架:滚动条滚动监听方法和触底判断机制

一、滚动监听

  1.监听方法

  通过@scroll事件进行监听,回调参数为事件

 @scroll="scrollEvent($event)"

  常用于滚动条滚动时懒加载数据,避免一次性拉取过多数据造成渲染时卡顿。或者上拉到顶触发数据刷新。

  2.触底判断

  在滚动条滚动的过程中,每次只要滚动条的位置发生了变化,都会触发一次监听的方法。

  下面是用到的几个属性值:

//滚动条到最上方的高度,即拉到当前页面时上面已经隐藏掉的高度

e.target.scrollTop

//滚动条现在能看到的高度,当前页面区域高度

e.target.clientHeight

//滚动条控制的总高度(到底的时候,上面隐藏的高度加上现在能看到的区域高度应该等于总高度)

e.target.scrollHeight

  通过三个值的比较进行触底判断:

//触底判断
if(e.target.scrollTop + e.target.clientHeight == e.target.scrollHeight){
  //触底时进行操作 
}

  为了避免重复触发,最好是加个防抖或者加锁。

 

posted @ 2022-05-29 11:45  我命倾尘  阅读(5559)  评论(0编辑  收藏  举报