vue指令做滚动加载和监听等


Posted in Javascript onMay 26, 2019

突然有个人问起vue如何做滚动监听?

既然你诚心诚意的发问了, 我就大发慈悲的告诉你.(武藏 & 小次郎)

指令可以很好的做这件事情, 下面以element-select举例:

directives.js

// v-loadmore: 用于在element-ui的select下拉框加上滚动到底事件监听
Vue.directive('loadmore', {
  bind(el, binding) {
   
   // 获取element-ui定义好的scroll盒子
   const SELECTWRAP_DOM = el.querySelector('.el-select-dropdown .el-select-dropdown__wrap');
  
   SELECTWRAP_DOM.addEventListener('scroll', function() {

     /*
      * scrollHeight 获取元素内容高度(只读)
      * scrollTop 获取或者设置元素的偏移值,常用于, 计算滚动条的位置, 当一个元素的容器没有产生垂直方向的滚动条, 那它的scrollTop的值默认为0.
      * clientHeight 读取元素的可见高度(只读)
      * 如果元素滚动到底, 下面等式返回true, 没有则返回false:
      * ele.scrollHeight - ele.scrollTop === ele.clientHeight;
      */
     const CONDITION = this.scrollHeight - this.scrollTop <= this.clientHeight;
     
     if(CONDITION) {
       binding.value();
     }
   });
  }
})

组件中:

<template>
  <el-select 
    v-model="selectValue" 
    v-loadmore="loadMore">
    <el-option
      v-for="item in options"
      :key="item.id"
      :label="item.accountName"
      :value="item.id">
    </el-option>
  </el-select>
</template>

// methods
loadMore() {
  // 这里可以做你想做的任何事 到底执行
},

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 发个判断字符串是否为符合标准的函数
Apr 27 Javascript
jquery 图片截取工具jquery.imagecropper.js
Apr 09 Javascript
基于Jquery的跨域传输数据(JSONP)
Mar 10 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
Apr 07 Javascript
利用jQuery实现可输入搜索文字的下拉框
Oct 23 Javascript
解析Javascript小括号“()”的多义性
Dec 03 Javascript
jquery.uploadify插件在chrome浏览器频繁崩溃解决方法
Mar 01 Javascript
jquery实现清新实用的网页菜单效果
Aug 28 Javascript
js实现遍历含有input的table实例
Dec 07 Javascript
ES6正则的扩展实例详解
Apr 25 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
Jun 11 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
Oct 26 Javascript
vxe-table vue table 表格组件功能
May 26 #Javascript
使用Vue.observable()进行状态管理的实例代码详解
May 26 #Javascript
微信小程序 swiper 组件遇到的问题及解决方法
May 26 #Javascript
vue项目打包后怎样优雅的解决跨域
May 26 #Javascript
vue实现的上拉加载更多数据/分页功能示例
May 25 #Javascript
vue实现的请求服务器端API接口示例
May 25 #Javascript
Vue Autocomplete 自动完成功能简单示例
May 25 #Javascript
You might like
PHP实现多维数组转字符串和多维数组转一维数组的方法
2015/08/08 PHP
PHP在线打包下载功能示例
2016/10/15 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
laravel 解决crontab不执行的问题
2019/10/22 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
2020/04/26 PHP
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
2016/01/07 Javascript
基于javascript实现文字无缝滚动效果
2016/03/22 Javascript
深入理解JS addLoadEvent函数
2016/05/20 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
vue页面离开后执行函数的实例
2018/03/13 Javascript
浅谈node.js 命令行工具(cli)
2018/05/10 Javascript
浅谈PDF.js使用心得
2018/06/07 Javascript
JS实现的简单tab切换功能完整示例
2019/06/20 Javascript
10种JavaScript最常见的错误(小结)
2019/06/21 Javascript
python实现自动获取IP并发送到邮箱
2018/12/26 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
Python给图像添加噪声具体操作
2019/03/03 Python
python实现猜拳小游戏
2020/04/05 Python
python:删除离群值操作(每一行为一类数据)
2020/06/08 Python
python代码区分大小写吗
2020/06/17 Python
解决tensorflow读取本地MNITS_data失败的原因
2020/06/22 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
世界领先的在线地板和建筑材料批发商:BuildDirect
2017/02/26 全球购物
TIME时代杂志台湾总代理:台时亚洲
2018/10/22 全球购物
New Balance法国官方网站:购买鞋子和服装
2019/09/01 全球购物
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
硕士研究生自我鉴定范文
2013/12/27 职场文书
元旦晚会上单位领导演讲稿
2014/01/05 职场文书
社区国庆节活动方案
2014/02/05 职场文书
数控专业个人求职信范文
2014/02/05 职场文书
婚礼秀策划方案
2014/05/19 职场文书
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS