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); }) }
原文地址:https://www.cnblogs.com/skydragonli/p/11810803.html
时间: 2024-10-14 13:53:21