angular+ionic 的app上拉加载更新数据实现方法


Posted in Javascript onJanuary 16, 2017

第一步,首先需要在<ion-content>标签里面加入标签<ion-infinite-scroll ng-if="hasmore" on-infinite="loadMore()" distance="5%"></ion-infinite-scroll>

里面的属性解释,

ng-if  值 布尔型,如果为true,则可以触发上拉事件
on-infinite 上拉时触发的事件
distance 列表底部滚动到可触发上拉事件的距离,默认为1%
icon 加载时显示的加载图标,默认为 'ion-loading-d'

第二步:在控制器内书写

$scope.hasmore = true;

定义可触发事件的对象

然后书写loadMore事件

//上拉事件 
    $scope.loadMore = function () { 
      $scope.dataValue.page++; 
      loadajax(); 
    }

然后写loadajax事件

function loadajax() { 
      var dataValue = $scope.dataValue; 
      var ip = "http://" + $rootScope.form.ip + "/appGetpage"; 
      var req = { 
        method: 'POST', //请求的方式 
        url: ip, //请求的地址 
        headers: { 
          'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 
          'Accept': '*/*' 
        }, //请求的头,如果默认可以不写 
        timeout: 5000, //超时时间,还没有测试 
        data: "value=" + JSON.stringify(dataValue) //message 必须是a=b&c=d的格式 
      }; 
      $http(req).success(function (data) { 
        if (data.data.length == 0) { 
          $scope.hasmore = false;//这里判断是否还能获取到数据,如果没有获取数据,则不再触发加载事件 
          return; 
        } 
        $scope.items = $scope.items.concat(data.data); 
      }).error(function () { 
        console.log("err"); 
      }).finally(function () { 
        $scope.$broadcast('scroll.infiniteScrollComplete');//这里是告诉ionic更新数据完成,可以再次触发更新事件 
        $scope.$broadcast('scroll.refreshComplete'); 
      }); 
    }

以上所述是小编给大家介绍的angular+ionic 的app上拉加载更新数据实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript写的一个链表实现代码
Oct 25 Javascript
jquery 操作iframe的几种方法总结
Dec 13 Javascript
jquery等待效果示例
May 01 Javascript
javascript函数中参数传递问题示例探讨
Jul 31 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
May 14 Javascript
网页收藏夹显示ICO图标(代码少)
Aug 04 Javascript
jQuery添加和删除指定标签的方法
Dec 16 Javascript
将form表单通过ajax实现无刷新提交的简单实例
Oct 12 Javascript
关于JavaScript中高阶函数的魅力详解
Sep 07 Javascript
vue微信分享出来的链接点开是首页问题的解决方法
Nov 28 Javascript
vue与bootstrap实现简单用户信息添加删除功能
Feb 15 Javascript
js实现倒计时秒杀效果
Mar 25 Javascript
jQuery实现简易的输入框字数计数功能示例
Jan 16 #Javascript
谈谈Vue.js——vue-resource全攻略
Jan 16 #Javascript
Javascript的this用法
Jan 16 #Javascript
jQuery向webApi提交post json数据
Jan 16 #Javascript
详解Html a标签中href和onclick用法、区别、优先级别
Jan 16 #Javascript
jQuery插件扩展操作入门示例
Jan 16 #Javascript
jQuery插件版本冲突的处理方法分析
Jan 16 #Javascript
You might like
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
ThinkPHP权限认证Auth实例详解
2014/07/22 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
2015/03/12 PHP
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
通过url查找a元素并点击
2014/04/09 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
使用jQuery判断浏览器滚动条位置的方法
2016/05/30 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
原生js实现查询天气小应用
2016/12/09 Javascript
BootStrap组件之进度条的基本用法
2017/01/19 Javascript
vue左右侧联动滚动的实现代码
2018/06/06 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
2019/04/08 Javascript
js设置鼠标悬停改变背景色实现详解
2019/06/26 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
elementUI同一页面展示多个Dialog的实现
2020/11/19 Javascript
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
[01:38]DOTA2 2015国际邀请赛中国区预选赛 Showopen
2015/06/01 DOTA
[03:09]DOTA2亚洲邀请赛 LGD战队出场宣传片
2015/02/07 DOTA
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
Python下载网络小说实例代码
2018/02/03 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
Python设计模式之职责链模式原理与用法实例分析
2019/01/11 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
2019/06/27 Python
基于python中__add__函数的用法
2019/11/25 Python
美国女鞋品牌:naturalizer(娜然)
2016/08/01 全球购物
英国网络托管和域名领导者:Web Hosting UK
2017/10/15 全球购物
Snapfish爱尔兰:在线照片打印和个性化照片礼品
2018/09/17 全球购物
NYX Professional Makeup俄罗斯官网:世界知名的化妆品品牌
2019/12/26 全球购物
怎么写好自荐信
2013/10/30 职场文书
大学新学期计划书
2014/04/28 职场文书
大学优秀班集体申报材料
2014/05/23 职场文书
师德师风学习材料
2014/12/19 职场文书
入党积极分子个人总结
2015/03/02 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书
Java结构型设计模式之组合模式详解
2022/09/23 Java/Android