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 相关文章推荐
!DOCTYPE声明对JavaScript的影响分析
Apr 12 Javascript
JQuery EasyUI 对话框的使用方法
Oct 24 Javascript
浅析Node.js 中 Stream API 的使用
Oct 23 Javascript
js调出上下文菜单的实例
Dec 17 Javascript
js和C# 时间日期格式转换的简单实例
May 28 Javascript
js判断输入字符串是否为空、空格、null的方法总结
Jun 14 Javascript
浅谈jQuery中事情的动态绑定
Feb 12 Javascript
jQuery导航条固定定位效果实例代码
May 26 jQuery
纯js实现图片匀速淡入淡出效果
Aug 22 Javascript
jQuery实现可兼容IE6的遮罩功能详解
Sep 19 jQuery
electron-vue利用webpack打包实现多页面的入口文件问题
May 12 Javascript
利用js实现简单开关灯代码
Nov 23 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
smarty中post用法实例
2014/11/28 PHP
PHP中文编码小技巧
2014/12/25 PHP
php 删除一维数组中某一个值元素的操作方法
2018/02/01 PHP
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
iframe子父页面调用js函数示例
2013/11/07 Javascript
绑定回车enter事件代码
2014/05/18 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
2014/06/09 Javascript
js封装可使用的构造函数继承用法分析
2015/01/28 Javascript
jquery 构造函数在表单提交过程中修改数据
2015/05/25 Javascript
详细解读JavaScript的跨浏览器事件处理
2015/08/12 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
2016/05/12 Javascript
jQuery 特性操作详解及实例代码
2016/09/29 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
使用vue.js写一个tab选项卡效果
2017/03/25 Javascript
bootstrap paginator分页前后台用法示例
2017/06/17 Javascript
浅谈FastClick 填坑及源码解析
2018/03/02 Javascript
vue路由拦截及页面跳转的设置方法
2018/05/24 Javascript
JavaScript反射与依赖注入实例详解
2018/05/29 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
微信小程序 select 下拉框组件功能
2019/09/09 Javascript
推荐11个实用Python库
2015/01/23 Python
分析Python中设计模式之Decorator装饰器模式的要点
2016/03/02 Python
Python读取word文本操作详解
2018/01/22 Python
简单了解python代码优化小技巧
2019/07/08 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
2020/05/15 Python
Kent & Curwen:与大卫·贝克汉姆合作
2017/06/13 全球购物
有abstract方法的类一定要用abstract修饰吗
2016/03/14 面试题
大学生怎样进行自我评价
2013/12/07 职场文书
上课迟到检讨书
2014/01/19 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
2014年保卫科工作总结
2014/12/05 职场文书
《搭石》教学反思
2016/02/18 职场文书
Angular性能优化之第三方组件和懒加载技术
2021/05/10 Javascript
springboot读取resources下文件的方式详解
2022/06/21 Java/Android