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

  • 预缴所得税退回
  • 交强险必须交车船使用税吗
  • 人工费怎么入账
  • 研发支出资本化支出在报表哪里
  • 培训咨询企业的发展前景
  • 连锁药店总部的首营资料
  • 小规模纳税人支付的增值税
  • 企业发票专用章使用涉及的审批流程
  • 出口样品账务处理
  • 代别的公司付款怎么做账
  • 外贸公司的出口清单
  • 广告媒体类的企业怎么核算成本?
  • 电子增值普通发票经营范围呢免费吗
  • 互联网企业交什么保险
  • 印花税的滞纳金怎么计算
  • 出口分为哪四步
  • 存货计价方法的选择对利润表中的项目没有影响
  • 低值易耗品摊销表格
  • 预付账款和应付账款怎么调账
  • 出租固定资产收入计入什么科目
  • 如何检查文档
  • 普通发票主营业务收入销项负数发票怎么做账
  • 小微企业减免额怎么计算
  • 在建工程会计分录例题
  • 可供出售金融资产现在叫什么
  • 问题解决能力
  • 借入资金一般采用借入()进行
  • 自费出版的书籍可以售卖吗
  • 提高stable diffusion速度
  • 高新补贴收入是否可以作为不征税收入
  • 基于opencv的图像处理
  • bert获取中文词向量
  • 外汇申报中付款什么意思
  • php ajax
  • WordPress 浏览量修改
  • discuz手机标准版
  • 金税盘中的发票修复是什么意思
  • 待认证进项税额是二级科目还是三级科目
  • SQLite教程(三):数据表和视图简介
  • mdf和ndf文件
  • 长期股权投资其他资本公积
  • 业务招待费报销制度及流程
  • 计提坏账准备的方法
  • 住房公积金是怎么来的?
  • 金蝶建账初始数据修改
  • 如何降低应收账款成本
  • 双定户经营所得税税率
  • 什么时候开始取卵
  • 职工福利费的计提比例为职工工资总额扣除奖金后的
  • 公司赠送客户礼品怎么做账
  • 划拨土地使用权管理暂行办法
  • 应付账款和预付账款都属于负债类科目
  • 五金配件生意好做吗
  • 银行对账单怎么打印
  • 新公司建账初始数据可以全部为零吗
  • mysql varchar2
  • windows任务管理器命令
  • win8 所有程序
  • 远程控制安全
  • linux安装fping
  • graphics.dll
  • le启动exe是什么意思
  • win7怎么修改开始菜单样式
  • linux文件批处理命令
  • win10预览版21301bug
  • unity拖进模型什么也看不到
  • js插件大全
  • js实现无缝轮播
  • 下列关于android的说法中,错误的是
  • jQuery position() 函数详解以及jQuery中position函数的应用
  • nodejs爬虫模拟浏览器
  • &&在js中
  • python迭代器生成器
  • python发邮件代码
  • 广西电子税务局手机版
  • 税务稽查时长
  • 什么是解放思想?请阐述解放思想和实事求是之间的关系
  • 上海市税务局的电话
  • 房产税是按套还是按套
  • 新华保险有返本金吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设