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 相关文章推荐
jQuery EasyUI 的EasyLoader功能介绍
Sep 12 Javascript
IE8对JS通过属性和数组遍历解析不一样的地方探讨
May 06 Javascript
在JS中如何调用JSP中的变量
Jan 22 Javascript
修复bash漏洞的shell脚本分享
Dec 31 Javascript
使用jQuery获得内容以及内容的属性
Feb 26 Javascript
JavaScript之map reduce_动力节点Java学院整理
Jun 29 Javascript
React教程之封装一个Portal可复用组件的方法
Jan 02 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
Jul 13 jQuery
Element Input组件分析小结
Oct 11 Javascript
Vue-CLI 3.X 部署项目至生产服务器的方法
Mar 22 Javascript
浅谈发布订阅模式与观察者模式
Apr 09 Javascript
微信小程序多列表渲染数据开关互不影响的实现
Jun 05 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
PHP使用finfo_file()函数检测上传图片类型的实现方法
2017/04/18 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
JavaScript Event学习第二章 Event浏览器兼容性
2010/02/07 Javascript
基于jquery实现的可以编辑选择的下拉框的代码
2010/11/19 Javascript
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
2011/01/12 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
JavaScript中的变量作用域介绍
2014/12/31 Javascript
JQ实现新浪游戏首页幻灯片
2015/07/29 Javascript
innerHTML中标签可以换行的方法汇总
2015/08/14 Javascript
JavaScript操作XML/HTML比较常用的对象属性集锦
2015/10/30 Javascript
jquery ztree实现模糊搜索功能
2016/02/25 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
详谈for循环里面的break和continue语句
2017/07/20 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
2017/12/20 Javascript
JQuery获取元素尺寸、位置及页面滚动事件应用示例
2019/05/14 jQuery
JavaScript中的this/call/apply/bind的使用及区别
2020/03/06 Javascript
vue实现公告栏文字上下滚动效果的示例代码
2020/06/16 Javascript
ES6 十大特性简介
2020/12/09 Javascript
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
通过Python 获取Android设备信息的轻量级框架
2017/12/18 Python
Python实现检测文件MD5值的方法示例
2018/04/11 Python
Django框架模板介绍
2019/01/15 Python
python使用Qt界面以及逻辑实现方法
2019/07/10 Python
Python面向对象编程基础实例分析
2020/01/17 Python
python如何求圆的面积
2020/07/01 Python
校园门卫岗位职责
2013/12/09 职场文书
活动策划邀请函
2014/02/06 职场文书
高中美术教师事迹材料
2014/08/22 职场文书
2014年个人工作总结范文
2014/11/07 职场文书
2014年助理工程师工作总结
2014/11/14 职场文书
雨中的树观后感
2015/06/03 职场文书
Nginx安装完成没有生成sbin目录的解决方法
2021/03/31 Servers
python操作xlsx格式文件并读取
2021/06/02 Python
vue实现列表拖拽排序的示例代码
2022/04/08 Vue.js