angular虚拟滚动

方案:采用cdk-virtual-scroll-viewport和ng-zorro的Timeline时间轴组件结合

方案2: 监听overflow元素scroll事件

onScroll(event) {
  console.log('滚动');
  const target = event.target as HTMLElement;
  if (target.scrollHeight - target.scrollTop === target.clientHeight) {
    console.log('到底了');
    // this.loadMoreData();
  }
}
实现原理

scrollHeight:元素内容的总高度,包括由于滚动而看不见的部分。

scrollTop:元素当前垂直滚动的像素值。

clientHeight:元素的可视区域高度,即元素在浏览器窗口中可见部分的高度。

当 target.scrollHeight - target.scrollTop === target.clientHeight 时,意味着元素已经滚动到了底部。因为 scrollHeight 是内容的总高度,scrollTop 是当前滚动的位置,clientHeight 是可视区域的高度。当 scrollTop 加上 clientHeight 等于 scrollHeight 时,说明已经滚动到了内容的底部。

posted @ 2025-07-07 17:10  sunqqw  阅读(40)  评论(0)    收藏  举报