使用vue.js在页面内组件监听scroll事件的方法
思路:scroll在哪儿个组件内,就在获取那个dom元素。网上好多思路是
window.addEventListener("scroll", function(){ console.log('scrolling'); });
这是监听不到的!如果你整个网页可以滑动,或许还可以试试!
对于像我这样,只在页面的内的一个div内要监听的。
实现代码如下:
第一步:滑动的组件外层的div加 ref="viewBox" 为了通过$refs获取dom元素
<!--设备列表--> <div class="deviceWrapper" ref="viewBox"> <mu-refresh-control :refreshing="refreshing" :trigger="trigger" @refresh="refresh"/> <div class="demo-grid"> <!--设备列表 手机一行两列 pad一行4列--> <mu-row> <mu-col v-for="device in devicesList" width="50" tablet="25" desktop="25"> <deviceCardView :device-data="device""></devicelightCardView> </mu-col> </mu-row> </div> <p class="bottomLine" v-bind:class="{bottomLineVisible:isScroll}">---------------------我是有底线的---------------------</p> </div>
第二步:
mounted() { // 通过$refs获取dom元素 this.box = this.$refs.viewBox // 监听这个dom的scroll事件 this.box.addEventListener('scroll', () => { console.log(" scroll " + this.$refs.viewBox.scrollTop) //以下是我自己的需求,向下滚动的时候显示“我是有底线的(类似支付宝)” this.isScroll=this.$refs.viewBox.scrollTop>0 }, false) }
ps:具体怎么做,看需求了。只要能打印出来.scrollTop就行了
以上这篇使用vue.js在页面内组件监听scroll事件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
vue init webpack myproject构建项目 ip不能访问的解决方法
下面小编就为大家分享一篇vue init webpack myproject构建项目 ip不能访问的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-03-03解读element ui el-row标签中的gutter用法
这篇文章主要介绍了解读element ui el-row标签中的gutter用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-08-08Vuex的插件vuex-persistedstate数据持久化存储操作
这篇文章主要介绍了Vuex的插件vuex-persistedstate数据持久化存储操作,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2023-12-12vue-element-admin+flask实现数据查询项目的实例代码
这篇文章主要介绍了vue-element-admin+flask实现数据查询项目,填写数据库连接信息和查询语句,即可展示查询到的数据,需要的朋友可以参考下2022-11-11
最新评论