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与图片美化checkbox和radio控件的代码(打包下载)
Nov 11 Javascript
autoPlay 基于jquery的图片自动播放效果
Dec 07 Javascript
ajax不执行success回调而是执行了error回调
Dec 10 Javascript
js解析与序列化json数据(二)序列化探讨
Feb 01 Javascript
javascript 3d 逐侦产品展示(核心精简)
Mar 26 Javascript
js使用for循环与innerHTML获取选中tr下td值
Sep 26 Javascript
Jqgrid之强大的表格插件应用
Dec 02 Javascript
如何利用AngularJS打造一款简单Web应用
Dec 05 Javascript
详解js类型判断
May 22 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
Jun 17 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
Sep 09 Javascript
JS实现简单打字测试
Jun 24 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
基于mysql的bbs设计(五)
2006/10/09 PHP
zf框架db类的分页示例分享
2014/03/14 PHP
PHP判断一个gif图片是否为动态图片的方法
2014/11/19 PHP
菜鸟javascript基础资料整理2
2010/12/06 Javascript
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
快速查找数组中的某个元素并返回下标示例
2013/09/03 Javascript
jQuery后代选择器用法实例
2014/12/23 Javascript
jquery实现的用户注册表单提示操作效果代码分享
2015/08/28 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
jQuery插件实现文字无缝向上滚动效果代码
2016/02/25 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
基于jQuery实现音乐播放试听列表
2016/04/14 Javascript
jQueryUI DatePicker 添加时分秒
2016/06/04 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
2016/12/13 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
2017/09/26 Javascript
详解extract-text-webpack-plugin 的使用及安装
2018/06/12 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
python简单实现基于SSL的IRC bot实例
2015/06/15 Python
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
[原创]Python入门教程4. 元组基本操作
2018/10/31 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
Python 中的pygame安装与配置教程详解
2020/02/10 Python
python thrift 实现 单端口多服务的过程
2020/06/08 Python
快速了解Python开发环境Spyder
2020/06/29 Python
Python使用OpenPyXL处理Excel表格
2020/07/02 Python
python中sys模块是做什么用的
2020/08/16 Python
canvas基础之图形验证码的示例
2018/01/02 HTML / CSS
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
公司年会搞笑主持词
2014/03/24 职场文书
我的理想演讲稿
2014/04/30 职场文书
学校食堂食品安全责任书
2014/07/28 职场文书
2016年小学植树节活动总结
2016/03/16 职场文书
pycharm部署django项目到云服务器的详细流程
2021/06/29 Python
蓝牙耳机怎么连接电脑win11? Win11蓝牙耳机连接电脑的技巧
2023/01/09 数码科技