时间:2021-05-26
本文实例为大家分享了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
效果:
可以看到触发频次比较高,其实子组件里面应该加一个函数节流函数,限制触发频率。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Vue实现的父组件向子组件传值功能。分享给大家供大家参考,具体如下:Vue父组件向子组件传值Vue.component('todo-item',{
本文实例讲述了vue组件开发原理与实现方法。分享给大家供大家参考,具体如下:概要vue的一个特点是进行组件开发,组件的优势是我们可以封装自己的控件,实现重用,比
实践加深对vue的理解和运用有效途径,本文是基于vue的可搜索下拉框定制组件实现,在此记录.一、效果二、组件代码dropdown.vue{{item.name}
Map.vue是为iview组件开发的一个基于百度地图的组件,实现了点是否在框内的判断,画多边形覆盖物,添加自定义富文本标记物等功能.第一步:重构自定义的富文本
思路:父组件通过props传值给子组件,子组件通过$emit来通知父组件修改相应的props值,具体实现如下:importVuefrom'vue'constco