vue 上拉动态加载数据

分析:

  • 需要判断滚动条是否到底部:

需要用到DOM的三个属性值,即scrollTopclientHeightscrollHeight

scrollTop为滚动条在Y轴上的滚动距离。

clientHeight为内容可视区域的高度。

scrollHeight为内容可视区域的高度加上溢出(滚动)的距离。

从这个三个属性的介绍就可以看出来,滚动条到底部的条件即为scrollTop + clientHeight == scrollHeight。(兼容不同的浏览器)。

  • 在vue的页面组件中有一个created 时期,在这里给窗口加上窗口滚动的监听

vue 上拉动态加载数据_第1张图片
注意:判断,到达窗口底部的时候,执行对应的操作。

补充::数据请求有三种

  1. 如上图,在云平台–新闻专题中的列表加载,后端返回总条数
    vue 上拉动态加载数据_第2张图片
    vue 上拉动态加载数据_第3张图片
_this.getPageNo = Math.ceil(parseInt(_this.total) /parseInt(_this.pageSize));
比如总共16条数据,每页数据条数pageSize=20,那么共有getPageNo这么多页。
Math.ceil 这个函数代表向上取整如:1.6,向上取整为2
pageNo:代码要传递的当前页码
  1. 下面这个是有点涉及到后台的数据处理,可以忽略,具体应用主要在第一条)自定义的方法在向后台发送请求数据的方法,其中每次调用后都执行 page++,这样才能保证每次请求的数据不重复,如:
    num=5; //num是自定的每次请求的条数
    start=page∗start=page∗num

你可能感兴趣的:(前端开发积累)