Vue懒加载的使用(后端分页)
Vue懒加载的使用(后端分页)再我们开发的过程中可能涉及到的数据量比较小,所以不怎么会出现需要懒加载的情况,但是这个在工作中就是非常非常重要的一个知识点了。懒加载的功能和分页其实是非常像的,就是一次性不会给太多的数据。懒加载的作用:当我们没使用懒加载或者分页的时候,访问一个接口,接口是一次性的将所有的数据都返回了,如果数据比较多有七八百条,那么就会导致页面加载数据的时间过长,影响用户的体验,使用了
Vue懒加载的使用(后端分页)
再我们开发的过程中可能涉及到的数据量比较小,所以不怎么会出现需要懒加载的情况,但是这个在工作中就是非常非常重要的一个知识点了。懒加载的功能和分页其实是非常像的,就是一次性不会给太多的数据。
懒加载的作用:
当我们没使用懒加载或者分页的时候,访问一个接口,接口是一次性的将所有的数据都返回了,如果数据比较多有七八百条,那么就会导致页面加载数据的时间过长,影响用户的体验,使用了懒加载之后:
- 界面的加载速度会有非常明显的提升
- 节省带宽
- 不必要加载无用(用户刷不到的数据) 减轻了服务器的压力
vue-lazylaod
https://www.npmjs.com/package/vue-lazyload
如果是使用cdn的形式也是一样,引入了这个插件之后要再挂载在Vue实例上,挂载时还可以设置一些常用的参数
其中的参数:
error
表示的是当图片加载失败时会使用的图片地址loading
表示的是图片处在加载状态时会显示的图片attempt
表示图片会加载的次数(当加载失败以后会继续加载的次数)
当配置好了这个之后,就可以在页面中使用了,原来图片的连接时写在src
下,现在写在v-lazy
里面即可
以上便是图片的懒加载,只有当页面使用到图片了之后,才会去加载所以的内容(即使后端一次性将全部的资源一次返回(七八百条也一样)之后再图片懒加载的时候才会去加载,并不会一次性的将七八百条都渲染)
后端分页
后端分页是非常常见的一个功能了,我们在请求的时候通常需要传递两个分页非常需要的参数,就是页码也每页的条数,后端就会根据这两个值来给我们返回指定的数据
- 从概念上来看我们应该就能够理解,后端分页主要是后端在操作懒加载,前端只需要判断当前时候已经到了需要分页的时候了即可。
- 后端分页最重要的是从数据库中读取数据,所以读取数据最重要的就是sql语句了,sql语句就是
select * from emoticon limit 1,15;
像这句sql语句的意思就是读取这个表中15条数据,从索引为1的地方开始读取,所以分页最关键的就是sql的limit
语句的判断了。 - 我们可以通过传递的页码和条数来判断返回哪些数据,返回的是页码*条数开始读取传递条数的条数信息并返回。
PC端和移动端分页操作的区别
Pc端和移动端的分页操作还是不一样的,pc端通常是会使用按钮,有一个分页的按钮点一些分页点一下分页这种操作,而移动端就不一样了,移动端通过判断滚动条滚动的进度来判断是否需要分页了,下面我就重点的来讲一下移动端的操作。
移动端判断分页需要使用三个非常关键的值:分别是
- 滚动条与页面的高度:
document.documentElement.scrollTop
- 可视区域高度:
document.documentElement.clientHeight
- 页面的总高度:
document.body.scrollHeight
当页面触底的时候。这时候将请求的页码加一并请求一下后端的接口即可
其实也是比较好理解,多想几遍就应该可以理解了,这里有几个比较难的地方,在Vue中给window设置点击事件:
还有一个比较难的地方是各种高度如何获取,这里我在其他大神的博客下面找了一个图,忘记是哪个大神的了,总之总结的非常好。记录了获取各种宽高,如下:
这里复习一下koa.js的一些操作
- 跨域处理:过去我们可以使用
koa-core
这个模块来实现跨域,但是这个现在表老,已经会给提示了,所以现在如果是后端处理跨域的话需要使用koa2-cors
模块,使用的步骤就是引用,然后以中间键的形式挂载在koaApp上。
- 获取POST请求传递的数据:在koa中,我们可以使用
ctx.request.body
来获取请求传递的参数,要使用这个语句的前提依然还是需要引用koa-bodyparser
模块,并且以中间键的形式引入。
- 使用
mysql2-promise
模块操作mysql数据库:过去使用mysql
模块来操作数数据库,使用的是异步的回调函数的方式来获取数据,这个就比较老,虽然也可以完成操作,但是比较不是很友好,使用mysql2-promise
模块的操作是封装了promise的操作,更加的友好,但是返回的数据也是经过封装的了,有[rows,fields]
信息,其中我们需要的数据就是这个rows行信息。
综上所述,懒加载的一些常用的知识点就是这些,我也是收获颇丰,起码对分页的操作是理解透了,继续加油。
更多推荐
所有评论(0)