位置: IT常识 - 正文

Vue组件滚动加载、懒加载功能的实现,无限滚动加载组件实例演示(vue组件元素设置滚动条高度)

编辑:rootadmin
Vue组件滚动加载、懒加载功能的实现,无限滚动加载组件实例演示

推荐整理分享Vue组件滚动加载、懒加载功能的实现,无限滚动加载组件实例演示(vue组件元素设置滚动条高度),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue滚动条组件,vue表格滚动加载数据,vue中滚动插件,vue滑动加载,vue滚动条组件,vue滚动条组件,vue滚动条组件,vue中滚动插件,内容如对您有帮助,希望把文章链接给更多的朋友!

效果图如下: 可以看到随着不断的滚动,页面组件的数量不断的加载。 其实加载的是后端返回的数据,因为涉及隐私,没有给显示出来。 利用懒加载,可以防止大量渲染造成卡顿降低用户体验。 页面的动态加载这块可以看上一篇文章: Vue 动态添加和删除组件的实现,子组件和父组件的传值实例演示

Vue组件滚动加载、懒加载功能的实现,无限滚动加载组件实例演示(vue组件元素设置滚动条高度)

下面主要讲一下动态加载的实现思路: 首先懒加载主要有两种形式,一种是不断的从后端请求返回前端,每次获取一部分数据,另一种是一次性把数据加载到前端,然后一部分一部分的展示。 本次演示的数据量不大,采用后面的方法来实现。

首先利用 axios 从后台获取数据,存储下来,并且执行一次加载组件的动作。

// 向后台发送请求得到数据 get_data(){ axios .get('http://127.0.0.1:10086') .then(response => { this.response_data=response.data; // 默认执行一次数据加载 this.load_data(); }) // 请求失败抛出异常在控制台 .catch(function (error) { console.log(error); }); }

然后对滚动进行监听 window.addEventListener('scroll', this.rolling); 当检测滚动条滚到底部时,加载数据。 当滚动过的距离 + 可视区的高度 >= 滚动条长度时,就相当于滚动到了底部。

rolling () { // 滚动过的距离 var scrollTop = document.documentElement.scrollTop || document.body.scrollTop // 当前可视区的高度 var clientHeight = document.documentElement.clientHeight // 滚动条的长度 var scrollHeight = document.documentElement.scrollHeight // 当滚动过的距离+可视区的高度>=滚动条长度时,就相当于滚动到了底部 if (scrollTop + clientHeight >= scrollHeight) { this.load_data(); } }

下面是主要的代码

methods:{ // 数据加载 load_data(){ for(var i=0; i<6; i++){ this.index++; if(this.index<Object.keys(this.response_data).length+1){ this.album.push(this.response_data[this.index.toString()]); } } }, // 向后台发送请求得到数据 get_data(){ axios .get('http://127.0.0.1:10086') .then(response => { this.response_data=response.data; // 默认执行一次数据加载 this.load_data(); }) // 请求失败抛出异常在控制台 .catch(function (error) { console.log(error); }); }, rolling () { // 滚动过的距离 var scrollTop = document.documentElement.scrollTop || document.body.scrollTop // 当前可视区的高度 var clientHeight = document.documentElement.clientHeight // 滚动条的长度 var scrollHeight = document.documentElement.scrollHeight // 当滚动过的距离+可视区的高度>=滚动条长度时,就相当于滚动到了底部 if (scrollTop + clientHeight >= scrollHeight) { this.load_data(); } } }, mounted() { // 加载数据 this.get_data(); // 添加滚动监听 window.addEventListener('scroll', this.rolling); }, data(){ return{ album: [], index: 0, response_data: "" } }

喜欢的点个赞❤吧!

本文链接地址:https://www.jiuchutong.com/zhishi/297568.html 转载请保留说明!

上一篇:Vue框架简介(vue框架是什么样子的)

下一篇:Vue首屏加载过慢出现白屏的六种优化方案(vue加载速度慢)

  • 微博营销的基础有哪些?(微博营销基础操作文档知乎)

    微博营销的基础有哪些?(微博营销基础操作文档知乎)

  • 小米手机双时钟怎么显示在屏幕(小米手机双时钟插件)

    小米手机双时钟怎么显示在屏幕(小米手机双时钟插件)

  • 苹果12pro max参数(苹果12pro max参数配置对比)

    苹果12pro max参数(苹果12pro max参数配置对比)

  • 小米打印机能用其他相纸吗(小米打印机能用别的相片纸吗)

    小米打印机能用其他相纸吗(小米打印机能用别的相片纸吗)

  • 广角镜头又被称为(广角镜头又称什么镜头)

    广角镜头又被称为(广角镜头又称什么镜头)

  • 华为荣耀20可以root吗(华为荣耀20可以微信分身吗)

    华为荣耀20可以root吗(华为荣耀20可以微信分身吗)

  • 小米10pro有微距吗(小米10pro有微距摄像头吗)

    小米10pro有微距吗(小米10pro有微距摄像头吗)

  • 您拨打的用户忙请稍后再拨什么意思(打电话语音说您拨打的用户忙)

    您拨打的用户忙请稍后再拨什么意思(打电话语音说您拨打的用户忙)

  • oppoa11和oppoa11x的区别(oppoa11和oppoa11x的外观区别)

    oppoa11和oppoa11x的区别(oppoa11和oppoa11x的外观区别)

  • iphone7可以遥控空调吗(苹果7遥控功能怎么用)

    iphone7可以遥控空调吗(苹果7遥控功能怎么用)

  • 苹果ipad屏幕旋转在哪里设置(苹果ipad屏幕旋转怎么设置)

    苹果ipad屏幕旋转在哪里设置(苹果ipad屏幕旋转怎么设置)

  • ipad可以插内存卡么(iPad可以插内存条吗)

    ipad可以插内存卡么(iPad可以插内存条吗)

  • 腾讯王卡能改归属地吗(腾讯王卡可以变更)

    腾讯王卡能改归属地吗(腾讯王卡可以变更)

  • 抖音怎么删自己的作品(抖音怎么删自己发的作品)

    抖音怎么删自己的作品(抖音怎么删自己发的作品)

  • 淘宝能二次申请退款吗(淘宝二次申请退款商家拒绝后)

    淘宝能二次申请退款吗(淘宝二次申请退款商家拒绝后)

  • 如何防止网页被修改(如何防止网页被监控)

    如何防止网页被修改(如何防止网页被监控)

  • 微信里的看一看是怎么回事(微信里的看一看是什么)

    微信里的看一看是怎么回事(微信里的看一看是什么)

  • 怎么开启支付宝刷脸支付(怎么开启支付宝余额支付功能)

    怎么开启支付宝刷脸支付(怎么开启支付宝余额支付功能)

  • s9听筒声音小解决方法

    s9听筒声音小解决方法

  • vivoy93的虚拟按键怎么设置(vivox9虚拟按键)

    vivoy93的虚拟按键怎么设置(vivox9虚拟按键)

  • vivoz5x是玻璃后盖吗(vivoz5手机背面玻璃摔碎照片)

    vivoz5x是玻璃后盖吗(vivoz5手机背面玻璃摔碎照片)

  • 拨打的用户暂时无法接通(拨打的用户暂时无人接听是怎么回事)

    拨打的用户暂时无法接通(拨打的用户暂时无人接听是怎么回事)

  • win10一段时间不用网络就掉线连不上怎么办两种解(win10一段时间不动黑屏)

    win10一段时间不用网络就掉线连不上怎么办两种解(win10一段时间不动黑屏)

  • 联想G450闪屏维修实例(联想g40开机屏幕一直闪)

    联想G450闪屏维修实例(联想g40开机屏幕一直闪)

  • 一列火车穿过卡纳塔克邦的沙拉瓦蒂桥,印度 (© Amith Nag Photography/Getty Images)(一列火车穿过一条隧道,已知火车长450米,隧道长750米)

    一列火车穿过卡纳塔克邦的沙拉瓦蒂桥,印度 (© Amith Nag Photography/Getty Images)(一列火车穿过一条隧道,已知火车长450米,隧道长750米)

  • nginx跨域(nginx解决跨域问题原理)

    nginx跨域(nginx解决跨域问题原理)

  • 材料报废是否可以税前扣除
  • 资产负债表不平衡如何查找
  • 出纳需不需要填工作单位
  • 残保金申报工资应该是实发数吗
  • 小额贷款公司的钱从哪里来
  • 房产税原值是否包括土地
  • 备发职工工资属于什么会计科目
  • 销售商品开具商品单据
  • 简易征收可以抵扣进项吗
  • 增值税10000交多少税
  • 企业会主动对税吗
  • 折扣发票有什么作用
  • 少交了增值税怎么补
  • 投资性房地产转为存货
  • 代开增值税发票沒有付款怎么做账?
  • 汇算清缴之前找回来成本发票可以吗
  • 外购固定资产如何入账
  • 可以做投标保证金的有银行汇票银行保函
  • 支票大写金额书写转换
  • 背书转让后的电子承兑怎么打印
  • 无法加载响应数据 对于预检请求没有可显示的内容
  • win 安全
  • php数组函数面试题
  • 天猫的软件服务费指的是什么
  • rtfd文件
  • Windows11如何使用管理员账号登录
  • ipv6无网络访问权限怎么解决
  • php初学实例教程
  • PHP:pg_close()的用法_PostgreSQL函数
  • PHP:imagepsloadfont()的用法_GD库图像处理函数
  • 会计分录的表现形式有
  • 4个生活小常识简短
  • 哈特谢普苏特女王享殿
  • 企业固定资产账户2019年6月初借方余额5000000元
  • 在php中如何对多条记录进行分页
  • 自产自销的苗木免税吗
  • 激光雷达lidar特点
  • patriotic研究
  • 波士顿房价数据集可视化
  • 转让全部探明矿权合法吗
  • 总结帝国cms内容是什么
  • 固定资产分期付款会计处理?
  • mysql数据类型和索引
  • 资产减值损失影响企业利润总额吗
  • 国债逆回购收益什么时候到账
  • 息税前利润与盈亏平衡点
  • 出售金融商品的增值税计税依据
  • 支付国外客户佣金违法吗
  • 收到代持股权的账务处理
  • 应收应付账款统计表
  • 国税地税发票样式区别
  • 购入研发设备可以抵扣吗
  • 公司购买的商品质量问题能用12315投诉吗
  • 资产负债表税务局能看到吗
  • 固定总价合同与epc总承包合同区别
  • 关于合同履约成本的表述错误的有
  • 利得与损失的四种类型
  • MySQL 5.6 (Win7 64位)下载、安装与配置图文教程
  • linux配置ftp服务
  • 重装系统后win7无法连接到网络
  • linux中find命令基本使用方法
  • win1020h2正式版
  • windows 10 mobile--移动版
  • vmware中安装centos7
  • win7系统删除文件夹怎么恢复
  • cocos3d物理引擎
  • unity3d碰撞检测源码
  • unity编译速度吃什么硬件?
  • 汉诺塔游戏教程
  • js原生dialog
  • 简述javascript
  • javascript设计简单计算机
  • 地税局局长权利大吗
  • 全国税务系统12366纳税服务热线工作规范
  • 浙江省网上税务局申报
  • 个人纳税记录为多少
  • 税务师事务所牌匾
  • 国税局的标志
  • 房屋契税可以退个人所得税吗
  • 广西地税代收工作怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设