Vue组件实现触底判断


Posted in Javascript onJune 26, 2019

本文实例为大家分享了Vue组件实现触底判断的具体代码,供大家参考,具体内容如下

非常简陋的代码,以后有空回来完善

子组件代码:

<template>
 <div class="scroll"></div>
</template>
 
<script>
 export default {
 name:'Scroll',
 methods:{
 scrollEvent(){
 if (document.documentElement.scrollTop
      + document.documentElement.clientHeight 
     >= document.body.scrollHeight) {
  this.onBottom();
 }
 }
 },
 props:{
 onBottom:Function
 },
 mounted(){
 window.addEventListener('scroll', this.scrollEvent,false);
 },
 destroyed () {
   window.removeEventListener('scroll', this.scrollEvent,false);
  }
 }
</script>

document.documentElement.scrollTop + document.documentElement.clientHeight >= document.body.scrollHeightb表示已经到页面底部了,那么就触发函数onBottom,函数onBottom是父组件传递过来的用于回调的函数 

父组件代码:

把子组件scroll放在父组件的底部(切记,不然函数不起作用),用作触底判断。

<template>
 <div class="wrap">
 <scroll :onBottom = "onBottom"></scroll>
 </div>
</template>
 
<script>
 import Scroll from '@/components/scroll'
 export default {
 name: 'roll',
 components:{
 Scroll,
 },
 methods:{
 onBottom(){
  console.log('bottom')
 }
 }
 }
</script>
<style type="text/css" lang="stylus" scoped>
 .wrap{
 height: 1000px;
 background: grey;
 width: 100%;
 }
</style>

父子传值也可以传递data里面的函数。这里我的回调函数里面进行的操作是到底部后console出bottom

效果:

可以看到触发频次比较高,其实子组件里面应该加一个函数节流函数,限制触发频率。

Vue组件实现触底判断

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

Javascript 相关文章推荐
基于jQuery的Spin Button自定义文本框数值自增或自减
Jul 17 Javascript
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
Sep 10 Javascript
基于jquery的jqDnR拖拽溢出的修改
Feb 12 Javascript
JavaScript中DOM详解
Apr 13 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
Nov 21 Javascript
纯JS焦点图特效实例(可一个页面多用)
Dec 07 Javascript
js实现一个简单的数字时钟效果
Mar 29 Javascript
jquery animate动画持续运动的实例
Nov 29 jQuery
分享vue里swiper的一些坑
Aug 30 Javascript
用Object.prototype.toString.call(obj)检测对象类型原因分析
Oct 11 Javascript
微信小程序 swiper 组件遇到的问题及解决方法
May 26 Javascript
解决vue组件销毁之后计时器继续执行的问题
Jul 21 Javascript
vue-week-picker实现支持按周切换的日历
Jun 26 #Javascript
CKeditor4 字体颜色功能配置方法教程
Jun 26 #Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
Jun 26 #Javascript
ES6 Symbol数据类型的应用实例分析
Jun 26 #Javascript
亲自动手实现vue日历控件
Jun 26 #Javascript
js设置鼠标悬停改变背景色实现详解
Jun 26 #Javascript
ES6 Generator函数的应用实例分析
Jun 26 #Javascript
You might like
sony ICF-2010 拆解与改装
2021/03/02 无线电
PHP使用静态方法的几个注意事项
2014/09/16 PHP
php实现中文转数字
2016/02/18 PHP
利用PHP自动生成印有用户信息的名片
2016/08/01 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
2018/08/10 PHP
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
初试jQuery EasyUI 使用介绍
2010/04/01 Javascript
模拟javascript中的sort排序(简单实例)
2016/08/17 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
Node.js中你不可不精的Stream(流)
2018/06/08 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
详解Node.js 中使用 ECDSA 签名遇到的坑
2018/11/26 Javascript
解决vue单页面应用中动态修改title问题
2019/06/09 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
微信小程序返回箭头跳转到指定页面实例解析
2019/10/08 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
js实现百度淘宝搜索功能
2020/02/17 Javascript
JavaScript实现世界各地时间显示
2020/09/07 Javascript
python中import学习备忘笔记
2017/01/24 Python
网红编程语言Python将纳入高考你怎么看?
2018/06/07 Python
python版百度语音识别功能
2019/07/09 Python
Python实现Mysql数据统计及numpy统计函数
2019/07/15 Python
pytorch 准备、训练和测试自己的图片数据的方法
2020/01/10 Python
python应用Axes3D绘图(批量梯度下降算法)
2020/03/25 Python
Python+Kepler.gl实现时间轮播地图过程解析
2020/07/20 Python
python安装cx_Oracle和wxPython的方法
2020/09/14 Python
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
会计主管岗位职责
2014/01/03 职场文书
财务管理专业毕业生求职信
2014/06/02 职场文书
销售类求职信
2014/06/13 职场文书
乡镇四风对照检查材料
2014/08/31 职场文书
培训班开班主持词
2015/07/02 职场文书
2016年万圣节家长开放日活动总结
2016/04/05 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书