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

 更新时间:2019年05月26日 09:19:03   作者:奇蒙尼  
这篇文章主要介绍了vue指令做滚动加载和监听等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

突然有个人问起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() {
  // 这里可以做你想做的任何事 到底执行
},

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

相关文章

  • vue实现滚动底部加载下一页指令的示例代码

    vue实现滚动底部加载下一页指令的示例代码

    vue中监控滚动事件可以直接在mounted中绑定滚动事件,然后在销毁前解绑滚动事件,本文通过实例代码介绍vue实现滚动底部加载下一页指令的过程,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • 关于Vue代码可读性的几点建议

    关于Vue代码可读性的几点建议

    凡事有好就又坏,想必大家都知道Vue的作用与优点,但是使用的规程中也总是有很多问题,接下来小编就来向大家讲解使用Vue时应注意的一些问题,希望能帮助到大家
    2021-09-09
  • vue点击单张图片放大实现步骤(纯js)

    vue点击单张图片放大实现步骤(纯js)

    这篇文章主要给大家介绍了关于vue点击单张图片放大实现的相关资料,在vue项目中实现点击图片放大功能相信对大家来说都不陌生,文中给出了详细的js示例代码,需要的朋友可以参考下
    2023-07-07
  • vue cli3中eslint报错no-undef和eslint规则配置方式

    vue cli3中eslint报错no-undef和eslint规则配置方式

    这篇文章主要介绍了vue cli3中eslint报错no-undef和eslint规则配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • vue bus全局事件中心简单Demo详解

    vue bus全局事件中心简单Demo详解

    ue-bus 提供了一个全局事件中心,并将其注入每一个组件,你可以像使用内置事件流一样方便的使用全局事件。这篇文章给大家介绍了vue bus全局事件中心简单Demo,需要的朋友参考下吧
    2018-02-02
  • Vue安装浏览器开发工具的步骤详解

    Vue安装浏览器开发工具的步骤详解

    这篇文章主要介绍了Vue安装浏览器开发工具步骤详解,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • 简单了解前端渐进式框架VUE

    简单了解前端渐进式框架VUE

    这篇文章主要介绍了前端渐进式框架VUE的相关资料,文中讲解的非常细致,帮助大家开始学习VUE,感兴趣的朋友可以了解下
    2020-07-07
  • Vue Baidu Map之自定义点图标bm-marker的示例

    Vue Baidu Map之自定义点图标bm-marker的示例

    这篇文章主要介绍了Vue Baidu Map之自定义点图标bm-marker,文中给大家介绍了vue-baidu-api地图标记点(自定义标记图标),设置标记点的优先级问题,结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • 如何使用Webstorm和Chrome来调试Vue项目

    如何使用Webstorm和Chrome来调试Vue项目

    这篇文章主要介绍了如何使用Webstorm和Chrome来调试Vue项目,对Vue感兴趣的同学,一定要看一下
    2021-05-05
  • Vue 列表渲染 key的原理和作用详解

    Vue 列表渲染 key的原理和作用详解

    这篇文章主要介绍了key在Vue列表渲染时的原理和作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-10-10

最新评论