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 相关文章推荐
javascript parseInt 大改造
Sep 27 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
Jun 22 Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
Jan 23 Javascript
js读取csv文件并使用json显示出来
Jan 09 Javascript
jquery 获取select数组与name数组长度的实现代码
Jun 20 Javascript
AngularJs页面筛选标签小功能
Aug 01 Javascript
Bootstrap和Java分页实例第二篇
Dec 23 Javascript
Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’
Jan 03 Javascript
JavaScript的Object.defineProperty详解
Jul 09 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
Aug 11 Javascript
详解KOA2如何手写中间件(装饰器模式)
Oct 11 Javascript
vue项目中使用bpmn为节点添加颜色的方法
Apr 30 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
PHP实现网上点歌(二)
2006/10/09 PHP
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
2010/04/28 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
JavaScript中的类继承
2010/11/25 Javascript
JQueryEasyUI Layout布局框架的使用
2013/04/08 Javascript
JavaScript使用指针操作实现约瑟夫问题实例
2015/04/07 Javascript
jquery 实现滚动条下拉时无限加载的简单实例
2016/06/01 Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
2017/05/26 Javascript
Vue.js列表渲染绑定jQuery插件的正确姿势
2017/06/29 jQuery
vue2.0 computed 计算list循环后累加值的实例
2018/03/07 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
JavaScript实现留言板案例
2020/03/17 Javascript
JS实现点星星消除小游戏
2020/03/24 Javascript
Bootstrap简单实用的表单验证插件BootstrapValidator用法实例详解
2020/03/29 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
Python实现设置windows桌面壁纸代码分享
2015/03/28 Python
Python实现国外赌场热门游戏Craps(双骰子)
2015/03/31 Python
详细介绍Python中的偏函数
2015/04/27 Python
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
Python3.6正式版新特性预览
2016/12/15 Python
python使用Plotly绘图工具绘制气泡图
2019/04/01 Python
使用Python制作简单的小程序IP查看器功能
2019/04/16 Python
使用django的objects.filter()方法匹配多个关键字的方法
2019/07/18 Python
对tensorflow中cifar-10文档的Read操作详解
2020/02/10 Python
python调用私有属性的方法总结
2020/07/24 Python
Python基础教程之输入输出和运算符
2020/07/26 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
css3学习心得分享
2013/08/19 HTML / CSS
结合CSS3的新特性来总结垂直居中的实现方法
2016/05/30 HTML / CSS
迪斯尼假期(欧洲、中东及非洲):Disney Holidays EMEA
2021/02/15 全球购物
2015年感恩父亲节演讲稿
2015/03/19 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
该怎么书写道歉信?
2019/07/03 职场文书
Python list列表删除元素的4种方法
2021/11/01 Python