使用vue.js在页面内组件监听scroll事件的方法


Posted in Javascript onSeptember 11, 2018

思路: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事件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
分析 JavaScript 中令人困惑的变量赋值
Aug 13 Javascript
jQuery Mobile的loading对话框显示/隐藏方法分享
Nov 26 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
Aug 25 Javascript
JavaScript构建自己的对象示例
Nov 29 Javascript
通过jquery toggleClass()属性制作文章段落更改背景颜色
May 21 jQuery
angularjs性能优化的方法
Sep 05 Javascript
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
Jan 18 jQuery
使用Node.js写一个代码生成器的方法步骤
May 10 Javascript
微信小程序实现左滑动删除效果
Mar 30 Javascript
Vue formData实现图片上传
Aug 20 Javascript
JS数组去重详情
Nov 07 Javascript
Echarts如何重新渲染实例详解
May 30 Javascript
vue+axios+element ui 实现全局loading加载示例
Sep 11 #Javascript
Webpack之tree-starking 解析
Sep 11 #Javascript
node.js之基础加密算法模块crypto详解
Sep 11 #Javascript
Vue在页面数据渲染完成之后的调用方法
Sep 11 #Javascript
浅谈Webpack核心模块tapable解析
Sep 11 #Javascript
原生js检测页面加载完毕的实例
Sep 11 #Javascript
vue props传值失败 输出undefined的解决方法
Sep 11 #Javascript
You might like
WordPress判断用户是否登录的代码
2011/03/17 PHP
HR vs CL BO3 第二场 2.13
2021/03/10 DOTA
拖拉表格的JS函数
2008/11/20 Javascript
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
jquery刷新页面的实现代码(局部及全页面刷新)
2011/07/11 Javascript
js弹出层包含flash 不能关闭隐藏的2种处理方法
2013/06/17 Javascript
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
原生javascript实现匀速运动动画效果
2016/02/26 Javascript
jQuery实现优雅的弹窗效果(6)
2017/02/08 Javascript
原生js实现放大镜
2017/02/20 Javascript
微信小程序  TLS 版本必须大于等于1.2问题解决
2017/02/22 Javascript
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
jQuery层级选择器_动力节点节点Java学院整理
2017/07/04 jQuery
剖析Angular Component的源码示例
2018/03/23 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
python使用PIL缩放网络图片并保存的方法
2015/04/24 Python
Python二叉搜索树与双向链表转换实现方法
2016/04/29 Python
Python实现的归并排序算法示例
2017/11/21 Python
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
Apache部署Django项目图文详解
2019/07/30 Python
树莓派极简安装OpenCv的方法步骤
2019/10/10 Python
Python异常原理及异常捕捉实现过程解析
2020/03/25 Python
jupyternotebook 撤销删除的操作方式
2020/04/17 Python
外贸业务员求职自荐信分享
2013/09/21 职场文书
公务员转正鉴定材料
2014/02/11 职场文书
环保建议书
2014/03/12 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
表彰大会策划方案
2014/05/13 职场文书
领导干部作风建设自查报告
2014/10/23 职场文书
2014年组织部工作总结
2014/11/14 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
员工自我评价范文
2015/03/11 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
分析mysql中一条SQL查询语句是如何执行的
2021/06/21 MySQL
云服务器部署 Web 项目的实现步骤
2022/06/28 Servers