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

微信小程序 网站建设ps软件下载官网

微信小程序 网站建设,ps软件下载官网,局域网网站建设教程,me域名的网站文章目录 一、定时渲染二、触底加载 一、定时渲染 思路:定时加载,分堆处理 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/190649/

相关文章:

  • 静态网站维护新手如何建设网站
  • phpnow 搭建网站网站建设公司豆瓣
  • wordpress作品集主题 免费青岛关键词优化排名
  • 天津建站服务电商网站设计注意事项
  • 湖南网站建设欧黎明郑州网站推广哪家好
  • 外汇直播网站建设开发在手机上自己制作游戏软件
  • 怎么做好网站开发 设计公司网址怎么做出来的
  • 网站建设的总体目标移动版网站开发
  • 响应式食品企业网站网站原型图设计
  • 吉林网站建设吉林关键词查询工具包括哪些
  • 珠宝 网站欣赏龙华网站建设公司
  • 网站开发的工资是多少灰色关键词排名
  • 搜索引擎网站推广法怎么做自己可以做拼单网站吗
  • 杭州网站seo推广软件口碑好的做网站公司哪家好
  • 搬家网站模板大数据技术主要学什么
  • 爱站网注册人查询那些网站可以接私活做
  • 工信部网站备案举报制作一个响应式网站开发工具
  • 十大设计创意产品网站怎么样查中企动力做的网站
  • 江苏高效网站制作公司长春一般做一个网站需要多少钱
  • 可以做微课ppt模板 网站有哪些内容部队网站模板
  • 大型购物网站排名评估网站建设方案
  • 福建建设资格执业注册管理中心网站wordpress 自动摘要
  • 微信公众号做公司网站新产品开发流程和步骤
  • wordpress媒体库插件中山市seo推广点击软件
  • 横峰县城乡建设网站郑州网站建设特色
  • 温州网站建设专业的公司新乡网站开发的公司电话
  • win10做网站服务器网站开发类优惠及服务承诺
  • 最新网站推广网上书城网站开发说明书
  • 购物商城网站建设php网站建设开发
  • 国内十大网站建设怎么创建网页的快捷方式到桌面