H5中实现加载更多的逻辑及代码执行。
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中实现加载更多的逻辑及代码执行。的更多相关文章
- MVC中实现加载更多
需要实现的功能: 数据太多想初次加载部分数据,在底部加上“加载更多”按钮 点击后加载第二页数据(从数据库只取指定页数据)后接在已有数据后面(类似于android中的下拉加载更多) 每次加载时显示“正在 ...
- iOS开发UI篇—在UItableview中实现加载更多功能
一.实现效果 点击加载更多按钮,出现一个加载图示,三秒钟后添加两条新的数据. 二.实现代码和说明 当在页面(视图部分)点击加载更多按钮的时候,主页面(主控制器 ...
- h5上拉加载更多
--------------------------------------------------------------------------例子1 <div class="bo ...
- 微信小程序中的加载更多(即列表分页)
1.app.json中: "window": { "enablePullDownRefresh": true //是否开启当前页面下拉刷新 } 2.wxml中: ...
- Vue.js中滚动条加载更多数据
本文章参考:http://www.cnblogs.com/ssrsblogs/p/6108423.html 分析:1.需要判断滚动条是否到底部: 需要用到DOM的三个属性值,即scrollTop.cl ...
- 基于zepto的H5/移动端tab切换触摸拖动加载更多数据
以前实现移动端的滑动加载更多实现的方法是当滚动条快到页面底部时就自动加载更多的数据,在这方面很多人都用的是"西门的后花园"写的一个叫dropload的插件,这个插件用起来也很好,很 ...
- js实现『加载更多』功能实例
DEMO : 滚动加载示例 关于如何实现『加载更多』功能,网上有插件可用,例如比较著名的使用iscroll.js实现的上拉加载更多.下拉刷新功能. 但实际用起来却是很麻烦.由于是第三方插件,要按照对方 ...
- google官方的下拉刷新+自定义上拉加载更多
转载请标注转载:http://blog.csdn.net/oqihaogongyuan/article/details/50949118 google官方的下拉刷新+自定义上拉加载更多 现在很多app ...
- RecyclerView下拉刷新上拉加载更多
现在Android里都建议用RecyclerView代替ListView和GridView,所以下拉刷新和上拉加载更多也需要实现.下拉刷新可以用SwipeRefreshLayout 包裹Recycle ...
随机推荐
- .Net MVC如何渲染带有网页标签的字符串
有时候我们在解析一段文字时,可能文字中会包含网页上的标签,如div.p等等.那么如果将这种文字渲染成对应的标签效果呢?如图,最近博主就拿到了这么一段字符串(如图) 由于中间带有很多特殊字符,用Html ...
- C#泛型集合之——队列与堆栈
队列与堆栈基础 队列 1.操作: (1)创建及初始化: Queue<类型> 队列名 =new Queue<类型>()://空队列,无元素 Queue<类型> 队列名 ...
- C# vb .net实现淡出效果特效滤镜
在.net中,如何简单快捷地实现Photoshop滤镜组中的淡出效果特效呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第 ...
- k8s安装部署问题、解决方案汇总
角色 节点名 节点ip master n1 192.168.14.11 节点1 n2 192.168.14.12 节点2 n3 192.168.14.13 https://raw.githubuser ...
- Function.prototype.call.apply作用详解
关于call()和apply()基本用法可以参阅如下两篇文章: (1).call方法参阅JavaScript call()一章节. (2).apply方法参阅JavaScript apply()一章节 ...
- springboot feign too many bytes written executing POST
解決办法: pom添加: <dependency><groupId>io.github.openfeign</groupId><artifactId>f ...
- 【DATAGUARD】物理dg在主库丢失归档文件的情况下的恢复(七)
[DATAGUARD]物理dg在主库丢失归档文件的情况下的恢复(七) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到 ...
- 宿主机计划任务执行docker相关命令
这个问题拖了好几个月百思不解,或许是由于基础不牢的缘故;百度等等搜索一大篇,还真有人遇到了相似问题 问题:宿主机写好计划任务,是mongodump命令来备份mongo数据库,结果在计划任务里是执行不了 ...
- 【转】移植vsftpd到arm linux
vsftpd即very secure FTP daemon(非常安全的FTP进程),是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(是一种守护进程),可以运行在诸如Linux.BSD. ...
- linux查看磁盘分区
df 查看磁盘分区使用状况 用法:df [选项]... [文件]... Show information about the file system on which each FILE resid ...