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代码要注意的几条规则
Sep 10 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
Jan 22 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
Jan 24 Javascript
Jquery刷新页面背景图片随机变换的实现方法
Mar 15 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
Oct 24 Javascript
js+html5操作sqlite数据库的方法
Feb 02 Javascript
js实现tab切换效果
Feb 16 Javascript
基于Jquery Ajax type的4种类型(详解)
Aug 02 jQuery
值得收藏的vuejs安装教程
Nov 21 Javascript
在Vue组件中获取全局的点击事件方法
Sep 06 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
Feb 20 jQuery
详解Vue中Axios封装API接口的思路及方法
Oct 10 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实现最简单的MVC框架实例教程
2014/09/08 PHP
php文件类型MIME对照表(比较全)
2016/10/07 PHP
php实现微信发红包功能
2018/07/13 PHP
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
基于jquery实现的省市区级联无ajax
2013/09/24 Javascript
JavaScript随机生成信用卡卡号的方法
2015/04/07 Javascript
jqTransform美化表单
2015/10/10 Javascript
js不间断滚动的简单实现
2016/06/03 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
bmob js-sdk 在vue中的使用教程
2018/01/21 Javascript
jQuery中each方法的使用详解
2018/03/18 jQuery
vue多级复杂列表展开/折叠及全选/分组全选实现
2018/11/05 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
JS算法教程之字符串去重与字符串反转
2020/12/15 Javascript
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
基于Python函数和变量名解析
2019/07/19 Python
在keras里面实现计算f1-score的代码
2020/06/15 Python
python中selenium库的基本使用详解
2020/07/31 Python
python实现粒子群算法
2020/10/15 Python
HTML5中判断用户是否正在浏览页面的方法
2014/05/03 HTML / CSS
英国最大的笔记本电脑直销专家:Laptops Direct
2019/07/20 全球购物
澳大利亚在线购买葡萄酒:The Wine Collective
2020/02/20 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
香港艺人陈冠希创办的潮流品牌:JUICESTORE
2021/03/04 全球购物
实习教师自我鉴定
2013/09/27 职场文书
军训自我鉴定200字
2014/02/13 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
迎新生标语大全
2014/10/06 职场文书
陕西导游词
2015/02/04 职场文书
运动会100米加油稿
2015/07/21 职场文书
用python基于appium模块开发一个自动收取能量的小助手
2021/09/25 Python
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS