当前位置: 首页 > news >正文

郑州专业网站建设价格wordpress 作者

郑州专业网站建设价格,wordpress 作者,购物网站怎么做,网页设计教程视频教程文章目录 一、定时渲染二、触底加载 一、定时渲染 思路:定时加载,分堆处理 1. 例如,前端请求到十五条数据以后,先不直接渲染,而是将这些数据分堆分批次渲染 2. 比如,一堆放10条数据,十万条数据…

文章目录

    • 一、定时渲染
    • 二、触底加载

一、定时渲染

  • 思路:定时加载,分堆处理
1. 例如,前端请求到十五条数据以后,先不直接渲染,而是将这些数据分堆分批次渲染
2. 比如,一堆放10条数据,十万条数据就是一万堆
3. 然后使用定时器一次渲染一堆,渲染一万次即可
  • 核心实现
// 渲染到页面表格的数据
let pagedata = [];
const plan = async () => {// 例如 bigdata 是接口请求到的十万条数据const bigdata = await getBigDat();// 分堆处理let arr = average(bigdata)// 渲染数据for(let i=0; i<arr.length; i++){setTimeout(()=>{pagedata = [...pagedata, ...arr[i]]},20*i)}
}
const average = (arr) => {let i = 0;let res = [];while(i < arr.length){// 一堆截取10条数据res.push(arr.slice(i, i+10));i = i+10;}return res;
}
  • 优化掉帧:requestAnimationFrame

由于定时器设置了间隔时间,当数据滚动较快,会导致页面渲染跟不上,从而出现掉帧现象

// 渲染到页面表格的数据
let pagedata = [];
const plan = async () => {// 例如 bigdata 是接口请求到的十万条数据const bigdata = await getBigDat();// 分堆处理let arr = average(bigdata)// 渲染数据useData(0);
}
const useData = (index)=>{if(index > arr.length -1){return}// 用动画请求帧优化requestAnimationFrame(()=>{pagedata = [...pagedata, ...arr[index]]index = index + 1;// 递归调用useData(index)})
}
const average = (arr) => {let i = 0;let res = [];while(i < arr.length){// 一堆截取10条数据res.push(arr.slice(i, i+10));i = i+10;}return res;
}

二、触底加载

  • 在vue中需要使用到饿了么的一个插件包el-table-infinite-scroll【官方文档】

  • 安装插件

npm install --save el-table-infinite-scroll
  • 引用插件
import Vue from 'vue';
import elTableInfiniteScroll from 'el-table-infinite-scroll';Vue.use(elTableInfiniteScroll)
  • 使用插件
<el-table:data="tabledata"v-el-table-infinite-scroll="load"
>
</el-table>
  • 核心代码
// 渲染到页面表格的原始数据
let pagedata = [];
// 渲染到页面表格的实时数据
let tabledata = [];
const plan = async () => {// 例如 bigdata 是接口请求到的十万条数据const bigdata = await getBigDat();// 分堆处理pagedata = average(bigdata)// 渲染数据load()
}
const load = (arr) => {if(pagedata.length === 0){return;}// 加载的时候,把pagedata数组的第一项取出来,拼接到展示的表格数据上let arr = pagedata[0]tabledata = tabledata.concat(arr);// 拼接完成后,再把pagedata数组的第一项删除即可pagedata.shift()
}
const average = (arr) => {let i = 0;let res = [];while(i < arr.length){// 一堆截取10条数据res.push(arr.slice(i, i+10));i = i+10;}return res;
}
http://www.yayakq.cn/news/136266/

相关文章:

  • 卓拙科技做网站吗佛山哪个做网站的好
  • 淘宝客网站建设公司网页制作基础教程课件
  • 搭建网站哪个好ssh框架做的家政服务网站
  • 木匠手做网站济南做外贸的网站公司吗
  • 网站咨询弹窗是怎么做的计算机网站建设待遇
  • 互联网App网站建设方案学校网站的系统建设方式
  • 自住房车各项建设部网站青岛百度网站排名优化
  • 做行业网站广告苏州工业园区最新通告
  • 受欢迎的丹阳网站建设云主机租用
  • 天津网站设计与制作wordpress aliyun oss
  • 网站建设需要资质么网站关键词怎么优化排名
  • 徐汇制作网站哪家好成都官网优化多少钱
  • 徐州做网站的公司有哪些WordPress连接微博
  • 网站建设与开发试题英语外贸网站建设
  • 网站建设合作品牌企点
  • 网网站建设公司注册完域名后如何做网站
  • 铁路网站建设论文德州做网站的公司
  • 做seo优化产品网站管理咨询公司起名大气上口的
  • 营销企业网站建设安徽省建设质量安全协会网站
  • 商标设计公司排名前十强网站优化做些什么
  • 如何做网站规划手机网站主页
  • 网站运营seo长安营销服务协同管理平台网站
  • 个人适合建什么网站网站搜索引擎推广
  • 建站程序下载wordpress 的主题修改
  • 网站开发 科技注册公司注册资金最低多少钱
  • 巴中网站建设有限公司网站模板 小说
  • 上海做网站设计的公司360社区app
  • 合肥建设网站公司wordpress标题调用标签
  • 江西网站制作的公司软件开发培训教程
  • 怎么建设可以收费的网站网站一般用什么工具做