核心思想:只渲染可视区域内的元素,不是一次性渲染整个列表或数据集。当用户滚动页面时,系统会根据滚动位置动态更新可视区域内的内容,移除不可再见的数据项,同时添加新的数据项至视图中。
实现原理:
1、确定可视区域大小:计算可视区域的大小(高度或宽度)
2、数据分页处理:将数据分成一个个小块,每一块=可视区域能容纳的元素
3、初始渲染:只渲染可视区域内的数据到dom中
4、监听滚动事件:监听滚动事件,根据滚动方向和距离计算出下一个需要显示的数据块
5、动态更新DOM:移除已滚出视图的数据块,添加新的数据块到DOM中
性能优化方面的优点:
1、减少DOM操作
2、提升滚动流畅度
3、优化内存使用:只保留可视区域内的数据项在内存中,降低了内存占用
总结:虚拟滚动就是确定一个可视区域的大小,只渲染可视区域内的元素,监听滚动事件,通过滚动方向和距离动态更新可视区域内的内容。