vue的滚动事件,怎么实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue的滚动事件,怎么实现相关的知识,希望对你有一定的参考价值。
参考技术A DOM事件 在Vue中为DOM元素绑定事件的具体方法在文章中的 方法与事件处理器 章节,通过v-on指令或事件语法糖 @ 为DOM元素绑定事件。Vue解析组件模板后,在绑定更新 v-on 指令时会为DOM元素绑定事件(当然如果元素为 iframe ,会等到 iframeVUE 实现监听滚动事件,实现数据懒加载
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的滚动事件,怎么实现的主要内容,如果未能解决你的问题,请参考以下文章