监听滚动事件
监听滚动事件
1.原生scroll方法
原生 scroll 实现(需节流)
const scrollHandler = throttle(() => {const { scrollTop, clientHeight, scrollHeight } = document.documentElement;if (scrollTop + clientHeight >= scrollHeight - 50) loadMore(); }, 200);window.addEventListener('scroll', scrollHandler); // 别忘记在 beforeDestroy 中移除!
2.观察器 (对于无限滚动、长列表有较好的性能)
<template><div class="container"><!-- 内容区 --><div v-for="item in items" :key="item.id">{{ item.content }}</div><!-- 触发元素 --><div ref="trigger" class="trigger"></div><!-- 加载状态 --><div v-if="loading">加载中...</div></div>
</template><script>
export default {data() {return {items: [], /