位置: 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加载速度慢)

  • 荣耀x10后盖是玻璃材质吗(荣耀x10后盖玻璃不是原装)

    荣耀x10后盖是玻璃材质吗(荣耀x10后盖玻璃不是原装)

  • win7 0x00000001 蓝屏(WIN70x00000001蓝屏怎么办)

    win7 0x00000001 蓝屏(WIN70x00000001蓝屏怎么办)

  • 中国移动卡hd会收费吗(移动卡hd有什么用)

    中国移动卡hd会收费吗(移动卡hd有什么用)

  • 苹果7突然关机,就开不了了(苹果7突然关机无法开机)

    苹果7突然关机,就开不了了(苹果7突然关机无法开机)

  • 网络直播带货是什么意思(网络直播带货是从什么时候开始的)

    网络直播带货是什么意思(网络直播带货是从什么时候开始的)

  • 微信紧急冻结是什么意思(微信紧急冻结是多长时间)

    微信紧急冻结是什么意思(微信紧急冻结是多长时间)

  • 删了对方对方的备注会变吗(删除了对方)

    删了对方对方的备注会变吗(删除了对方)

  • oppo a92s什么时候上市(oppoa92s什么时候出产的)

    oppo a92s什么时候上市(oppoa92s什么时候出产的)

  • 华为nova5z有红外吗(华为nova5z有红外线遥控吗)

    华为nova5z有红外吗(华为nova5z有红外线遥控吗)

  • 微信新消息不显示红点(微信新消息不显示)

    微信新消息不显示红点(微信新消息不显示)

  • 解决qq群发红包异常(解决qq群发红包问题)

    解决qq群发红包异常(解决qq群发红包问题)

  • 微信人脸解封失败怎么回事

    微信人脸解封失败怎么回事

  • 小米之家怎么取消预约(小米之家怎么取消授权门店)

    小米之家怎么取消预约(小米之家怎么取消授权门店)

  • ps怎么改变图片背景颜色(ps怎么改变图片像素)

    ps怎么改变图片背景颜色(ps怎么改变图片像素)

  • 把视频设置锁屏壁纸(把视频设置锁屏怎么设置)

    把视频设置锁屏壁纸(把视频设置锁屏怎么设置)

  • 魅族16sPro怎么设置熄屏时钟(魅族16xs怎么设置)

    魅族16sPro怎么设置熄屏时钟(魅族16xs怎么设置)

  • 怎么把图片弄成闪照(怎么把图片弄成链接的形式)

    怎么把图片弄成闪照(怎么把图片弄成链接的形式)

  • 强提醒对方能看到吗(给对方设置强提醒对方知道吗)

    强提醒对方能看到吗(给对方设置强提醒对方知道吗)

  • nova5是5g手机吗(华为nova5是5g手机吗)

    nova5是5g手机吗(华为nova5是5g手机吗)

  • praal00华为什么型号(pratl00华为什么型号)

    praal00华为什么型号(pratl00华为什么型号)

  • 乘车码刷哪个位置(乘车码刷哪个位置公交车扫码器在哪)

    乘车码刷哪个位置(乘车码刷哪个位置公交车扫码器在哪)

  • 手机关机发视频显示什么(手机关机发视频什么提示)

    手机关机发视频显示什么(手机关机发视频什么提示)

  • 电脑网络连接不上wifi(电脑网络连接不可用显示红叉)

    电脑网络连接不上wifi(电脑网络连接不可用显示红叉)

  • html前端的几种加密/解密方式(html前端技术)

    html前端的几种加密/解密方式(html前端技术)

  • fameh32.exe是病毒程序吗 fameh32是安全进程吗(.fas文件病毒)

    fameh32.exe是病毒程序吗 fameh32是安全进程吗(.fas文件病毒)

  • 增值税发票记账联和抵扣联都丢了怎么办
  • 企业所得税减免优惠政策
  • 防伪开票系统技术维护费怎么做分录
  • 收到预付款的发票怎么写摘要
  • 反写了可以重新申报吗
  • 会计折旧法有哪几种
  • 服务费做成本分录
  • 抵押贷款评估费用标准
  • 产生的信息服务有哪些
  • 货物运输企业在运输货物时应当尽可能采用
  • 新公司前几个月发工资
  • 年底给职工发啥实物
  • 单位聘请临时工工资怎么报税
  • 网上勾选认证每月时间要求
  • 印花税按次申报怎么报
  • 开发票六位代码
  • 发票金额与支票数量不符
  • 预提工资是什么科目
  • 红字发票通知单已经上传可以作废吗
  • 公司注销资产负债表期末余额不能为0
  • 业务招待费增值税是进项税吗
  • 租金一次性付清的账务处理
  • 报关单上的运费怎么看
  • 钢材增值税发票
  • 增值税专用发票怎么开
  • 退休返聘人员工伤怎么赔偿
  • 注册资本需要缴清吗
  • 企业接受投资者的土地使用权投资
  • 结转成本的会计分录摘要怎么写
  • uefi+bios
  • 违约金条款的特点
  • deepin如何设置网络
  • 清除不必要的内存
  • tersafe.dll
  • 房产契税如何计算2021年
  • 应收票据的账务处理讲解
  • php基本框架
  • php dao
  • php 获取当前url
  • uniapp开发常用案例
  • 先开票后发货合法吗
  • Thinkphp 中 distinct 的用法解析
  • 前端分页显示
  • php运行linux命令
  • 违约金税目
  • 出口免税和退税的区别
  • 企业利润分配的账务处理
  • http上传错误
  • python中mktime函数
  • 用vue做的企业项目
  • 财务报表的填写要求
  • 金蝶利润表为什么只有累计数没有本月数
  • 企业信用公示的时候医疗和生育怎么分开计算
  • 房地产公司收到客户违约金会计科目
  • 净资产少于1元
  • 城建税教育费附加什么时候交
  • 汽车以租代售合法吗
  • 出让价格不得低于基准地价
  • 企业被收购会产生哪些税
  • 装修材料增值税发票明细表
  • 应收应付的意思
  • 公司研发项目立项
  • 公司汇票是什么
  • 怎样银行存款,预付帐款,应收帐款余额做资金平衡表
  • sql 复合语句
  • windows sfc命令
  • 蓝屏service
  • apt-get update错误
  • Win10 Mobile Build 10572 其它未记录更新内容汇总
  • win10 ie无法使用
  • window10路由
  • linux useradd -m
  • win7系统更新怎么关闭
  • w10版本更新
  • node js入门
  • JavaScript获取网址之后跳转
  • nodemodules拷贝到其他目录
  • js实现浏览器状态栏显示
  • Dojo Javascript 编程规范 规范自己的JavaScript书写
  • 国税税控开票系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设