移动端网页的上滑加载更多,其实就是滑动+分页的实现。

<template>
<div>
<p class="footer-text">--{{footerText}}--</p>
<p class="loading" v-show="loading"></p>
</div>
</template>
<script>
import $ from 'jquery'
export default {
data(){
return{
serverData:[],//接受服务器的数据,
page:1,
footerText:'上滑加载更多',
loading:false//loading的开关
}
},
created(){
this.getServerData(this.page);
this.listenScroll();
},
beforeDestroy(){
$(window).unbind('scroll');
},
methods:{
getServerData(){
//参数只有page,项目需要可以添加
//项目中的ajax方式可能跟这个不一样,没关系,思路是相同的。
const num = 3;//每一页接受多少条数据
this.$api.get('url',{page:this.page},res=>{
this.loading = false;
this.serverData = res.data;//接受数据
if(res.data.length<num){
this.footerText = "到底了";
$(window).unbind('scroll');
}
})
},
listenScroll(){
          let self = this;
$(window).scroll(function () {
let scrollTop = $(window).scrollTop();
let windowTop = $(window).height();
let documentTop = $(document).height();
if(documentTop - windowTop <= scrollTop){
self.page++;
self.loading = true;
self.getServerData();
}
});
}
}
}
</script>

  

  精妙的地方在 getServerData()判断什么时候后端的数据全了,判断就是当前返回的数据长度小于约定的长度,说明到底了。

如果后端是thinkPhp,由于有page()函数,那么代码类似这样:

  

//获取page参数
$page = I('get.page',1);
//前后端约定每次显示的条数
$num = 3;
$M
->where()
-> page($page,$num)
->select

  

vue 上滑加载更多的更多相关文章

  1. Android如何定制一个下拉刷新,上滑加载更多的容器

    前言 下拉刷新和上滑加载更多,是一种比较常用的列表数据交互方式. android提供了原生的下拉刷新容器 SwipeRefreshLayout,可惜样式不能定制. 于是打算自己实现一个专用的.但是下拉 ...

  2. Android的ListView分页功能(上滑加载更多)

    今天主要工作是将之前实现的各种ListView显示全部信息,优化成了每次加载几条数据,然后上滑的时候加载更多,底部显示一个进度条和一个文字提示,然后加载完毕后,将提示信息隐藏. 一边看教学视频一遍敲代 ...

  3. 移动端web页面上滑加载更多功能

    背景介绍: 开发企业微信的一个应用,实现在企业微信中调用自己程序页面,页面加载多模块数据,向下滑加载更多,等等等等,一波三折 然后很早就成功了是这样实现的: html: <div id=&quo ...

  4. 使用jquery.more.js上滑加载更多

    html: <div id="more"> <div class="single_item"> <div class=" ...

  5. vux, vue上拉加载更多

    <template> <" :bottom-method="loadBottom" :bottom-all-loaded="bottomAll ...

  6. 微信小程序上滑加载更多

    onReachBottom: function () { var that = this var limit = that.data.limit var count = that.data.count ...

  7. APICloud 上滑加载更多

    <!DOCTYPE html><html>        <head>        <meta charset="UTF-8">  ...

  8. jquery 上滑加载更多

    $(document).ready(function() { var totalPage = {$totalPage};//总页数 var page = {$page}; //起始页 var page ...

  9. jq上滑加载更多

    html 结构 <div id="main"> <ul class="order-list" id="list_box"& ...

随机推荐

  1. [bzoj1878][SDOI2009]HH的项链_树状数组

    HH的项链 bzoj-1878 SDOI-2009 题目大意:给定一个n个数的序列,m次查询.查询区间数的种类个数. 注释:$1\le n \le 5\cdot 10^4$,$1\le m\le 2\ ...

  2. hibernate分表保存日志

    @Service("accessLogService")@Transactionalpublic class LogMessageServiceImpl extends BaseD ...

  3. HDU 4508

    祼的完全背包问题 #include <iostream> #include <cstdio> #include <cstring> #include <alg ...

  4. 向Java枚举类型中加入新方法

    除了不能继承enum之外,可将其看做一个常规类.甚至能够有main方法. 注意:必须先定义enum实例.实例的最后有一个分号. 以下是一个样例:返回对实例自身的描写叙述,而非默认的toString返回 ...

  5. 解决国内android sdk无法更新,google不能的简单办法

    在国内屏蔽了很多外国站点.连google 和android都屏蔽了,做程序猿的就苦了! 只是车到山前必有路,我们也有我们的办法! 推荐一个比以下的更好的方法:红杏公益代理:http://blog.cs ...

  6. android在学习——activity关闭和dialog.dismiss冲突的解决(Activity has leaked window com.android.internal.policy.impl.PhoneWindow)

    当我们在退出整个程序的时候偶尔会出现这种报错:Activity has leaked window com.android.internal.policy.impl.PhoneWindow 其意思大概 ...

  7. 麦森数--NOIP2003

    题目描述 形如2P−12^{P}-12P−1 的素数称为麦森数,这时PPP 一定也是个素数.但反过来不一定,即如果PPP 是个素数,2P−12^{P}-12P−1 不一定也是素数.到1998年底,人们 ...

  8. RCF:一个相当不错的C++分布式RPC框架

    RCF(远程调用框架)是一个可以移植的C++进程间通信框架,使用C++语言特性,提供了一个简单高效的编写分布式C++软件的途径.RCF利用编译时多态清晰分开了接口和实现. 和传统的RPC框架如CORB ...

  9. 二维矩阵相乘 in C++

    #include <iostream> #include <vector> #include <string> #include <sstream> # ...

  10. 79.员工薪水报表 Extjs 页面

    1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" ...