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

<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. poj 3621最优比例生成环(01分数规划问题)

    /* 和求最小生成树差不多 转载思路:http://www.cnblogs.com/wally/p/3228171.html 思路:之前做过最小比率生成树,也是属于0/1整数划分问题,这次碰到这道最优 ...

  2. ACM的你伤不起

    劳资六年前开始搞ACM啊!!!!!!!!!!  从此踏上了尼玛不归路啊!!!!!!!!!!!!  谁特么跟劳资讲算法是程序设计的核心啊!!!!!!  尼玛除了面试题就没见过用算法的地方啊!!!!!!  ...

  3. Jmeter 学习imooc

    https://www.imooc.com/video/14718 1. BS Vs CS BS架构: browser server CS架构: Client server(安装到本地)

  4. Clojure:通过ZeroMQ推送消息

    通过ZeroMQ的pub/sub模式,我们可以实现发送推送消息的功能.以下为示例代码(入门可参考此文:http://www.cnblogs.com/ilovewindy/p/3984269.html) ...

  5. Equals和==的差别

    java中的数据类型.可分为两类:  1.基本数据类型 包含:byte,short,char,int,long,float,double,boolean .基础数据类型比較大小的时候使用的是双等号(= ...

  6. UIScrollView滚动时隐藏底部导航栏问题

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView { NSLog(@"開始滚动"); int currentPostio ...

  7. linux面试之--堆、栈、自由存储区、全局/静态存储区和常量存储区

    栈,就是那些由编译器在须要的时候分配,在不须要的时候自己主动清除的变量的存储区.里面的变量一般是局部变量.函数參数等.在一个进程中.位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用.和堆 ...

  8. rnnlm源代码分析(八)

    系列前言 參考文献: RNNLM - Recurrent Neural Network  Language Modeling Toolkit(点此阅读) Recurrent neural networ ...

  9. crm使用soap启用和停用记录

    function demo() {     //操作记录的id     var targetId = "a8a46444-ba10-e411-8a04-00155d002f02"; ...

  10. BZOJ 2440 中山市选2011 全然平方数 二分答案+容斥原理+莫比乌斯反演

    题目大意:求第k个无平方因子数是多少(无视原题干.1也是全然平方数那岂不是一个数也送不出去了? 无平方因子数(square-free number),即质因数分解之后全部质因数的次数都为1的数 首先二 ...