VUE 实现监听滚动事件,实现数据懒加载
Posted skydragonli
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VUE 实现监听滚动事件,实现数据懒加载相关的知识,希望对你有一定的参考价值。
methods: { // 获取滚动条当前的位置 getScrollTop() { let scrollTop = 0 if (document.documentElement && document.documentElement.scrollTop) { scrollTop = document.documentElement.scrollTop } else if (document.body) { scrollTop = document.body.scrollTop } return scrollTop }, // 获取当前可视范围的高度 getClientHeight() { let clientHeight = 0 if (document.body.clientHeight && document.documentElement.clientHeight) { clientHeight = Math.min(document.body.clientHeight, document.documentElement.clientHeight) } else { clientHeight = Math.max(document.body.clientHeight, document.documentElement.clientHeight) } return clientHeight }, // 获取文档完整的高度 getScrollHeight() { return Math.max(document.body.scrollHeight, document.documentElement.scrollHeight) }, // 滚动事件触发下拉加载 onScroll() { if (this.getScrollHeight() - this.getClientHeight() - this.getScrollTop() <= 0) { if (this.status <= 5) { this.status++; // 调用请求函数 this.axios.get(‘url‘ ).then(data => { console.log(data) }); } } }, }
监听事件
mounted() { this.$nextTick(function () { // 解决视图渲染,数据未更新 window.addEventListener(‘scroll‘, this.onScroll); }) }
以上是关于VUE 实现监听滚动事件,实现数据懒加载的主要内容,如果未能解决你的问题,请参考以下文章
Vue组件滚动加载懒加载功能的实现,无限滚动加载组件实例演示
笔耕不辍 elementUI el-tree实现懒加载和直接查询实现