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 相关文章推荐
js或css实现滚动广告的几种方案
Jan 28 Javascript
可在线编辑网页文字效果代码(单击)
Mar 02 Javascript
js替代copy(示例代码)
Nov 27 Javascript
js每隔5分钟执行一次ajax请求的实现方法
Nov 27 Javascript
JS实现静止元素自动移动示例
Apr 14 Javascript
JavaScript判断页面加载完之后再执行预定函数的技巧
May 17 Javascript
jQuery插件简单学习实例教程
Jul 01 Javascript
Boostrap基础教程之JavaScript插件篇
Sep 08 Javascript
轻松理解Javascript变量的相关问题
Jan 20 Javascript
详谈js的变量提升以及使用方法
Oct 06 Javascript
JQuery判断radio单选框是否选中并获取值的方法
Jan 17 jQuery
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 Vue.js
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
一个程序下载的管理程序(三)
2006/10/09 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
2014/06/19 PHP
php无限极分类递归排序实现方法
2014/11/11 PHP
ThinkPHP控制器详解
2015/07/27 PHP
yii2使用ajax返回json的实现方法
2016/05/14 PHP
top.location.href 没有权限 解决方法
2008/08/05 Javascript
event对象的方法 兼容多浏览器
2009/06/27 Javascript
JS解析XML的实现代码
2009/11/12 Javascript
Fastest way to build an HTML string(拼装html字符串的最快方法)
2011/08/20 Javascript
javascript管中窥豹 形参与实参浅析
2011/12/17 Javascript
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
jQuery获得IE版本不准确webbrowser的解决方法
2014/02/23 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
javascript实现dom元素可拖动
2016/03/21 Javascript
微信小程序 加载 app-service.js 错误解决方法
2016/10/12 Javascript
VSCode 配置React Native开发环境的方法
2017/12/27 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
babel7.x和webpack4.x配置vue项目的方法步骤
2019/05/12 Javascript
layui 上传插件 带预览 非自动上传功能的实例(非常实用)
2019/09/23 Javascript
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
2017/10/20 Python
Python编程实现粒子群算法(PSO)详解
2017/11/13 Python
人脸识别经典算法一 特征脸方法(Eigenface)
2018/03/13 Python
pandas按若干个列的组合条件筛选数据的方法
2018/04/11 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
Python猴子补丁Monkey Patch用法实例解析
2020/03/23 Python
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
C#面试常见问题
2013/02/25 面试题
户籍证明格式
2014/09/15 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
工作自我推荐信范文
2015/03/25 职场文书
校车司机安全责任书
2015/05/11 职场文书
企业党建工作总结2015
2015/05/26 职场文书
JavaScript中reduce()的用法
2022/05/11 Javascript
pd.drop_duplicates删除重复行的方法实现
2022/06/16 Python