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应用于login页面的问题及解决
Oct 17 Javascript
浅析JS中document对象的一些重要属性
Mar 06 Javascript
JavaScript实现多个重叠层点击切换效果的方法
Apr 24 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
Jan 20 Javascript
animate 实现滑动切换效果【实例代码】
May 05 Javascript
web 前端常用组件之Layer弹出层组件
Sep 22 Javascript
概述VUE2.0不可忽视的很多变化
Sep 25 Javascript
JS实现物体带缓冲的间歇运动效果示例
Dec 22 Javascript
AngularJS入门教程之Helloworld示例
Dec 25 Javascript
js实现手机拍照上传功能
Jan 17 Javascript
详解vue更改头像功能实现
Apr 28 Javascript
vue配置接口域名方法总结
May 12 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重定向的3种方式
2013/03/07 PHP
javascript实现焦点滚动图效果 具体方法
2013/06/24 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
2015/06/05 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
jQuery validate 验证radio实例
2017/03/01 Javascript
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
2017/03/25 jQuery
bootstrap3使用bootstrap datetimepicker日期插件
2017/05/24 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
2017/08/23 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
2019/02/15 Javascript
jQuery Migrate 插件用法实例详解
2019/05/22 jQuery
vue中组件通信的八种方式(值得收藏!)
2019/08/09 Javascript
layui 富文本编辑器和textarea值的相互传递方法
2019/09/18 Javascript
node实现mock-plugin中间件的方法
2019/12/25 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
vue从零实现一个消息通知组件的方法详解
2020/03/16 Javascript
公众号SVG动画交互实战代码
2020/05/31 Javascript
解决Antd Table组件表头不对齐的问题
2020/10/27 Javascript
vue实现滚动鼠标滚轮切换页面
2020/12/13 Vue.js
[03:40]DOTA2抗疫特别篇《英雄年代》
2020/02/28 DOTA
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
Python实现快速傅里叶变换的方法(FFT)
2018/07/21 Python
Python中shapefile转换geojson的示例
2019/01/03 Python
python utc datetime转换为时间戳的方法
2019/01/15 Python
python 多线程串行和并行的实例
2019/02/22 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
python实现AdaBoost算法的示例
2020/10/03 Python
《彭德怀和他的大黑骡子》教学反思
2014/04/12 职场文书
协商一致解除劳动合同协议书
2014/09/14 职场文书
名人演讲稿范文
2014/09/16 职场文书
阳光体育运动标语口号
2015/12/26 职场文书
python百行代码实现汉服圈图片爬取
2021/11/23 Python
vue+iview实现手机号分段输入框
2022/03/25 Vue.js