H5中加载更多的逻辑总结:

1、首先,需要三个底部的提示,分别是“加载中”、“--我是有底线的--”、“暂时没有记录”,当然,这三句话根据不同的项目,可以自定义。具体代码例子如下:

 <div class="nowStartLoading" v-if="nowloading">
<mt-spinner type="fading-circle" :size="25"></mt-spinner>
<span>加载中···</span>
</div>
<div class="bottomWord" v-if="noData">--我是有底线的--</div>
<div class="bottomWord" v-if="firstNoData">暂时没有推荐记录~</div>

2、根据如上情况,我们需要定义如下几个变量,来进行相应的操作。具体变量及说明如下:

ifHasMoreData: true,  //是否有更多数据
nowloading: false, //正在加载的动画
noData: false, //非第一次加载没有数据
firstNoData: false //第一次加载就没有数据

3、加载具体数据的函数处

 that.nowloading = false; // 默认请求完数据,都关闭加载动画。 当然,打开动画是在加载更多的函数地方打开动画。
if (res.data.length == 0 && that.page == 1) { //如果是第一页,并且数据为空
that.ifHasMoreData = false;
that.noData = false;
that.firstNoData = true; } else if (res.data.length >= 0 && res.data.length < 10) { // 如果是数据大于等于0,并且加载数据小于我们请求的每页的数据,则该push,同时我们判断,此时数据加载完了
that.recommendList = that.recommendList.concat(res.data);
that.ifHasMoreData = false;
that.noData = true;
that.firstNoData = false; } else if (res.data.length == 10) { // 如果是加载数据还是后台返回的加载数据条数,则我们认为还有数据
that.recommendList = that.recommendList.concat(res.data);
that.ifHasMoreData = true;
that.noData = false;
that.firstNoData = false; }

4、加载更多页面的函数处

loadMore() {
console.log("执行加载更多");
let that = this;
if (that.ifHasMoreData) { //如果有更多数据
that.nowloading = true; //打开加载动画
that.page = ++that.page; // 页数加1
that.getRecruitList(); //执行加载数据的函数。
}
},

H5中实现加载更多的逻辑及代码执行。的更多相关文章

  1. MVC中实现加载更多

    需要实现的功能: 数据太多想初次加载部分数据,在底部加上“加载更多”按钮 点击后加载第二页数据(从数据库只取指定页数据)后接在已有数据后面(类似于android中的下拉加载更多) 每次加载时显示“正在 ...

  2. iOS开发UI篇—在UItableview中实现加载更多功能

    一.实现效果 点击加载更多按钮,出现一个加载图示,三秒钟后添加两条新的数据.                      二.实现代码和说明 当在页面(视图部分)点击加载更多按钮的时候,主页面(主控制器 ...

  3. h5上拉加载更多

    --------------------------------------------------------------------------例子1 <div class="bo ...

  4. 微信小程序中的加载更多(即列表分页)

    1.app.json中: "window": { "enablePullDownRefresh": true //是否开启当前页面下拉刷新 } 2.wxml中: ...

  5. Vue.js中滚动条加载更多数据

    本文章参考:http://www.cnblogs.com/ssrsblogs/p/6108423.html 分析:1.需要判断滚动条是否到底部: 需要用到DOM的三个属性值,即scrollTop.cl ...

  6. 基于zepto的H5/移动端tab切换触摸拖动加载更多数据

    以前实现移动端的滑动加载更多实现的方法是当滚动条快到页面底部时就自动加载更多的数据,在这方面很多人都用的是"西门的后花园"写的一个叫dropload的插件,这个插件用起来也很好,很 ...

  7. js实现『加载更多』功能实例

    DEMO : 滚动加载示例 关于如何实现『加载更多』功能,网上有插件可用,例如比较著名的使用iscroll.js实现的上拉加载更多.下拉刷新功能. 但实际用起来却是很麻烦.由于是第三方插件,要按照对方 ...

  8. google官方的下拉刷新+自定义上拉加载更多

    转载请标注转载:http://blog.csdn.net/oqihaogongyuan/article/details/50949118 google官方的下拉刷新+自定义上拉加载更多 现在很多app ...

  9. RecyclerView下拉刷新上拉加载更多

    现在Android里都建议用RecyclerView代替ListView和GridView,所以下拉刷新和上拉加载更多也需要实现.下拉刷新可以用SwipeRefreshLayout 包裹Recycle ...

随机推荐

  1. Docker之数据卷(Data Volumes)操作

    目的: 前言 Docker宿主机和容器之间文件拷贝 数据卷 数据卷容器 前言 Docker 数据管理 在生产环境中使用 Docker ,往往需要对数据进行持久化,或者需要在多个容器之间进行 数据共享, ...

  2. golang 之 context包

    概述     context是Go中广泛使用的程序包,由Google官方开发,在1.7版本引入.它用来简化在多个go routine传递上下文数据.(手动/超时)中止routine树等操作,比如,官方 ...

  3. pytest_02-用例运行规则

    用例设计原则 文件名以test_*.py文件和*_test.py 以test_开头的函数 以Test开头的类 以test_开头的方法 所有的包pakege必须要有__init__.py文件 help帮 ...

  4. 【华为敏捷/DevOps实践】7. 敏捷,DevOps,傻傻不分清楚【华为云技术分享】

    文:姚冬(华为云DevCloud首席技术布道师,资深DevOps与精益/敏捷专家,金融解决方案技术Leader,中国DevOpsDays社区核心组织者) 前言 敏捷是什么?DevOps是什么?两者有什 ...

  5. mysql 删除表中多余的重复记录

    =============================================== 2019/7/16_第1次修改                       ccb_warlock == ...

  6. (转)数据库_不懂数据库索引的底层原理?那是因为你心里没点BTree

    原文地址:https://www.cnblogs.com/sujing/p/11110292.html 要了解数据库索引的底层原理,我们就得先了解一种叫树的数据结构,而树中很经典的一种数据结构就是二叉 ...

  7. OpenSSL X509 Funtion

    OpenSSL X509 Funtion 来源:https://blog.csdn.net/wanjie518/article/details/6570141 现有的证书大都采用X509规范, 主要同 ...

  8. SpringBoot1.x升级SpringBoot2.x踩坑之文件上传大小限制

    SpringBoot1.x升级SpringBoot2.x踩坑之文件上传大小限制 前言 LZ最近升级SpringBoo框架到2.1.6,踩了一些坑,这里介绍的是文件上传大小限制. 升级前 #文件上传配置 ...

  9. Java 之 Session

    Session 一.概述 Session技术:服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象(HttpSession)中. 二.使用步骤 1.获取 HttpSession ...

  10. js 动态创建 全局变量(转载)

    转载来源 https://blog.csdn.net/stevenzhong900610/article/details/40857087 https://www.jb51.net/article/8 ...