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

  • 单位如何代个人交社保
  • 物业费按年交有优惠吗
  • 集体不动产和动产包括
  • 报关金额多报了3000美金
  • 小微企业和小规模纳税人的区别
  • 工资发放流程以及如何记账
  • 个人劳务所得税税率表最新2022
  • 刚成立的外贸公司做小规模纳税人好不好
  • 自建房屋房产税纳税义务发生时间
  • 公益捐款
  • 企业所得税预缴可以不交吗
  • 企业网银使用
  • 外购商品对外赠送增值税怎么算
  • 向境外企业支付技术咨询指导费
  • 调整成本调整单分录
  • 职工食堂报销经费标准
  • 认缴制下实收资本可以一直为零吗
  • 以前工程发票如何抵扣
  • 小规模企业如何收款
  • 没有对公账户怎么办
  • 国企承接政府项目
  • 结算起点为
  • 物业公司的水电工工作职责
  • win11企业版激活
  • 苹果电脑付款方式设置
  • 增资后多久才可以减资
  • 结转完工工程成本是什么
  • php动态页面实例
  • 发票开具的有哪些原则
  • 违反发票管理的处罚
  • elementui常用组件有哪些
  • 如何确定合伙企业的利润
  • php防止sql注入的方法
  • notion all in one
  • 文心一言中国版
  • 此战成硕,我成功上岸西南交通大学了~~~
  • 主营业务成本入账分录
  • 代销手续费怎么开票
  • 总公司发票可以从分公司付款吗
  • 社保公司承担部分计入哪个科目
  • php接口怎么调用
  • 织梦相关文章调用
  • 织梦如何使用
  • 公司内控制度由谁制定
  • 收到税务局退税怎么入账
  • 让渡资产使用权收入什么意思
  • 管理费用和研发费用的关系
  • 金税盘清卡失败增值税未申报或未比对
  • 缴纳的税费怎么计算
  • 开收据是财务还是出纳
  • 企业发生的职工福利费支出,不超过工资
  • 生产成本和营业成本的区别和联系
  • 企业汇算清缴中的职工薪酬指的是管理费用中的吗
  • 办理税务登记需要多久
  • 电子承兑背书一般多久到账
  • 哪些原始凭证要盖章
  • 收到的承兑怎么转给别人
  • 企业领用产品的会计分录
  • 工程总包含设备工程吗
  • 印花税计入哪个会计分录
  • 成本分配表是实际成本吗
  • 其他应收款有哪些科目
  • 暂估收入怎么做分录
  • mysql大小
  • sql实用教程
  • select into 和 insert into select 两种表复制语句
  • win7系统弹出cd
  • debian修改中文
  • window10 弹窗广告
  • es6展开符
  • python生成密钥
  • cocos2d开发的知名游戏
  • python+django
  • 前端自动化开发软件
  • java深入理解
  • dos help命令
  • jquery页面
  • 税务稽查证据问题
  • 济南市地税局纳税服务中心孙凯简历
  • 深圳国税总局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设