const handleScroll = (e) => {
let el = e.target
if (Number(el.scrollTop + el.clientHeight).toFixed(0) == el.scrollHeight) {
console.log(currentPage.value, "yema");
currentPage.value++
fetchDatas()
}
上面代码执行多次
解决方案
确保只绑定一次滚动事件处理程序。如果你使用了类似 addEventListener 的方法来绑定事件处理程序,那么在绑定之前最好先解绑旧的事件处理程序。
另外,还可以考虑在绑定事件处理程序时使用 { once: true } 选项,以确保事件只会触发一次。示例代码如下:
// 假设 el 是你要监听滚动事件的 DOM 元素
el.addEventListener('scroll', handleScroll, { once: true });
通过在绑定滚动事件时添加 { once: true } 选项,可以确保滚动事件只会触发一次,从而避免多次触发 handleScroll() 函数。