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函数
May 27 Javascript
一些javascript一些题目的解析
Dec 25 Javascript
javascript jscroll模拟html元素滚动条
Dec 18 Javascript
浅谈JS的基础类型与引用类型
Sep 13 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
Jul 05 Javascript
angular中的cookie读写方法
Aug 02 Javascript
利用JS hash制作单页Web应用的方法详解
Oct 10 Javascript
解决vue 界面在苹果手机上滑动点击事件等卡顿问题
Nov 27 Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
Mar 26 Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
Mar 10 Javascript
原生js生成图片验证码
Oct 11 Javascript
Vue项目中使用mock.js的完整步骤
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
rephactor 优秀的PHP的重构工具
2011/06/09 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
2017/11/21 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
2020/05/02 PHP
Sample script that deletes a SQL Server database
2007/06/16 Javascript
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
JQuery Tips(4) 一些关于提高JQuery性能的Tips
2009/12/19 Javascript
js解析与序列化json数据(一)json.stringify()的基本用法
2013/02/01 Javascript
JS将光标聚焦在文本最后的实现代码
2014/03/28 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
jQuery中wrapAll()方法用法实例
2015/01/16 Javascript
js弹出窗口返回值的简单实例
2016/05/28 Javascript
JS表格组件BootstrapTable行内编辑解决方案x-editable
2016/09/01 Javascript
Angular实现表单验证功能
2017/11/13 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
2018/09/30 Javascript
layui自定义工具栏的方法
2019/09/19 Javascript
Python中操作MySQL入门实例
2015/02/08 Python
pymongo给mongodb创建索引的简单实现方法
2015/05/06 Python
Flask框架的学习指南之开发环境搭建
2016/11/20 Python
python数据类型_元组、字典常用操作方法(介绍)
2017/05/30 Python
Python给图像添加噪声具体操作
2019/03/03 Python
Python占用的内存优化教程
2019/07/28 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
新锐科技Java程序员面试题
2016/07/25 面试题
大学生职业规划论文
2014/01/11 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
节约每一滴水演讲稿
2014/09/09 职场文书
借款协议书
2014/09/16 职场文书
四风对照检查材料思想汇报
2014/09/20 职场文书
2014年学校党建工作汇报材料
2014/11/02 职场文书
2015年企业团支部工作总结
2015/05/21 职场文书
会议简报格式范文
2015/07/20 职场文书
CSS3实现三角形不断放大效果
2021/04/13 HTML / CSS