位置: 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怎么升级鸿蒙系统3.0)

    荣耀x10怎么升级鸿蒙系统(荣耀x10怎么升级鸿蒙系统3.0)

  • 苹果手机被盗怎么找回(苹果手机被盗怎么抹除数据)

    苹果手机被盗怎么找回(苹果手机被盗怎么抹除数据)

  • 微信文件另存为就死机(微信文件另存为桌面)

    微信文件另存为就死机(微信文件另存为桌面)

  • 华为手机怎样调大手机声音(华为手机怎样调出下面的三个键)

    华为手机怎样调大手机声音(华为手机怎样调出下面的三个键)

  • 华为手机手电筒快捷键是什么(华为手机手电筒怎么添加到桌面)

    华为手机手电筒快捷键是什么(华为手机手电筒怎么添加到桌面)

  • 打电话时微信能进来吗(打电话时微信能语音吗)

    打电话时微信能进来吗(打电话时微信能语音吗)

  • openwrt是什么(openwrt有什么用)

    openwrt是什么(openwrt有什么用)

  • 视频聊天软件平台都有哪些(视频聊聊软件)

    视频聊天软件平台都有哪些(视频聊聊软件)

  • 手机老是发烫怎么解决(手机老是发烫怎么回事vivo)

    手机老是发烫怎么解决(手机老是发烫怎么回事vivo)

  • 苹果后压屏是什么意思(苹果后压屏耐用吗)

    苹果后压屏是什么意思(苹果后压屏耐用吗)

  • dido os是什么系统(dido os 9.0是什么手机)

    dido os是什么系统(dido os 9.0是什么手机)

  • 微信可以一次性删除多人吗(微信可以一次性加多少好友)

    微信可以一次性删除多人吗(微信可以一次性加多少好友)

  • 网易云听别人歌单有记录吗(网易云听别人歌单会有播放次数吗)

    网易云听别人歌单有记录吗(网易云听别人歌单会有播放次数吗)

  • 设备id是什么意思(设备id怎么填写)

    设备id是什么意思(设备id怎么填写)

  • vivox30屏幕比例(vivox23屏幕比例)

    vivox30屏幕比例(vivox23屏幕比例)

  • 苹果耳机左耳坏了可以修吗(苹果耳机左耳坏了还可以一直放在耳机仓里吗?)

    苹果耳机左耳坏了可以修吗(苹果耳机左耳坏了还可以一直放在耳机仓里吗?)

  • switch刚充电开不了机(switch充电开机没反应)

    switch刚充电开不了机(switch充电开机没反应)

  • 重装了微信如何恢复聊天记录(重装了微信如何恢复以前聊天记录)

    重装了微信如何恢复聊天记录(重装了微信如何恢复以前聊天记录)

  • mi 4lte ct是什么型号(mi4lte-ct)

    mi 4lte ct是什么型号(mi4lte-ct)

  • 微信黑夜模式怎么开(微信黑夜模式怎么转换成白天)

    微信黑夜模式怎么开(微信黑夜模式怎么转换成白天)

  • 手机上便签怎么导出(手机上便签怎么修改)

    手机上便签怎么导出(手机上便签怎么修改)

  • 怎样在拼多多上成卖家(怎样在拼多多上卖自己的产品)

    怎样在拼多多上成卖家(怎样在拼多多上卖自己的产品)

  • 微信语音如何录音(微信语音如何录下来发给别人)

    微信语音如何录音(微信语音如何录下来发给别人)

  • 不让微信显示电话号码(不让微信显示电话)

    不让微信显示电话号码(不让微信显示电话)

  • 有什么可以在家里做的兼职?(有什么可以在家赚钱的方法)

    有什么可以在家里做的兼职?(有什么可以在家赚钱的方法)

  • Windows11未显示在Windows更新中怎么办?Win11未显示在Windows更新修复方法(windows11不显示桌面)

    Windows11未显示在Windows更新中怎么办?Win11未显示在Windows更新修复方法(windows11不显示桌面)

  • 格里博耶多夫运河和滴血救世主教堂,俄罗斯圣彼得堡 (© Tomas Sereda/Getty Images)(格里戈里耶奈尔尤伯夫)

    格里博耶多夫运河和滴血救世主教堂,俄罗斯圣彼得堡 (© Tomas Sereda/Getty Images)(格里戈里耶奈尔尤伯夫)

  • 小规模纳税人零申报逾期未申报
  • 城建税计税方法
  • 注册资本没有全额怎么办
  • 用友t3采购订单怎么录入
  • 研发费用加计扣除是什么意思啊
  • 居民企业参股外国企业信息报告填写
  • 小规模纳税人进项
  • 台湾发票大陆能做账吗
  • 外商投资企业国内上市最新政策
  • 供暖的配套费是不是开口费
  • 制造费用属于哪一类科目
  • 建筑行业挂靠代扣税款如何入账?
  • 股东退股可以支付现金吗
  • 营改增后众筹融资业务的会计处理分析
  • 运输费计入采购成本的分录
  • 计提业务招待费和办公费需要附件吗?
  • 增值税发票抵扣期限最新规定
  • 废旧物资收购发票
  • 去年开的增值税普通发票今年可以作废吗
  • 物流补贴需要交税吗
  • 股东分红账务处理后报表怎么处理
  • windows无法访问共享文件夹
  • 何为民办非企业
  • 工程咨询费用取费标准
  • 新职工工资从什么时候起算
  • 微信小程序实现发红包
  • 税收风险应对措施包括
  • ctblocker
  • php rtrim
  • 消防工程改造方案
  • thinkphp3.x连接mysql数据库的方法(具体操作步骤)
  • h5的开发
  • pytorch新手入门
  • 政府性基金账务处理
  • 支付职工差旅费发生的现金流出
  • 什么发票可以抵扣企业所得税
  • 一般纳税人补交印花税买卖合同
  • mysql null+1
  • 电缆租赁发票开具属于什么项目
  • 个体工商户怎么变更法人
  • win7系统安装教程不用u盘
  • 流动资金包括哪些费用
  • 固定资产资本化后续支出
  • 先开票未发货要确认收入吗
  • 销售费用期末余额
  • 资质平移股权账务怎么办
  • 住宿费开专票怎么做账
  • 纳税调整怎么做
  • 17增值税发票怎么抵扣
  • 营业外支出的用法
  • 外购的商品用于生产
  • 一般纳税人暂估入库的会计分录怎么写
  • 本年利润的计算顺序为
  • 员工离职未领工资怎么处置
  • unix du
  • win2003服务器管理
  • debian系统如何安装软件
  • github centos
  • freebsd使用
  • win10 系统
  • linux终端有哪些
  • windows8截图保存在哪里
  • windows进程太多
  • win10安全问题
  • unity 虚拟摇杆
  • cocos2d开发的知名游戏
  • android判断横竖屏
  • svn报错禁止访问
  • unity3d apk
  • 小助手是什么软件
  • jquery 文本框
  • 点击按钮显示
  • python3.8.3怎么用
  • jQuery+formdata实现上传进度特效遇到的问题
  • javascript怎么学
  • 对python变量的理解
  • 深入浅出html pdf中文版
  • android天气预报课程设计报告
  • flask框架下使用scrapy框架
  • 个体经营所得申报密码怎样设置
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设