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 相关文章推荐
让angularjs支持浏览器自动填表
Nov 10 Javascript
jQuery操作Table技巧大汇总
Jan 23 Javascript
Bootstrap网格系统详解
Apr 26 Javascript
Bootstrap3下拉菜单的实现
Feb 22 Javascript
Node.js 8 中的 util.promisify的详解
Jun 12 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
Jul 13 Javascript
jQuery中each和js中forEach的区别分析
Feb 27 jQuery
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
Oct 23 Javascript
js实现简单掷骰子小游戏
Oct 24 Javascript
Element Input输入框的使用方法
Jul 26 Javascript
Vue中Object.assign清空数据报错的解决方案
Mar 03 Vue.js
vue3.0 数字翻牌组件的使用方法详解
Apr 20 Vue.js
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中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
PHPMailer发送邮件
2016/12/28 PHP
php批量删除操作代码分享
2017/02/26 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
2017/07/16 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】
2019/02/25 PHP
Laravel 解决composer相关操作提示php相关异常的问题
2019/10/23 PHP
jQuery学习笔记之jQuery动画效果
2013/09/09 Javascript
使用JavaScript修改浏览器URL地址栏的实现代码
2013/10/21 Javascript
javascript 通用loading动画效果实例代码
2014/01/14 Javascript
使用不同的方法结合/合并两个JS数组
2014/09/18 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
关于JS与jQuery中的文档加载问题
2017/08/22 jQuery
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
推荐15个最好用的JavaScript代码压缩工具
2019/02/13 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
python实现自动重启本程序的方法
2015/07/09 Python
在Python的Django框架中生成CSV文件的方法
2015/07/22 Python
Python列表list内建函数用法实例分析【insert、remove、index、pop等】
2017/07/24 Python
Numpy数组的保存与读取方法
2018/04/04 Python
python 基本数据类型占用内存空间大小的实例
2018/06/12 Python
python中datetime模块中strftime/strptime函数的使用
2018/07/03 Python
Python Pandas 转换unix时间戳方式
2019/12/07 Python
python实现图像随机裁剪的示例代码
2020/12/10 Python
北京捷通华声语音技术有限公司Java软件工程师笔试题
2012/04/10 面试题
庆七一宣传标语
2014/10/08 职场文书
商铺租房协议书范本
2014/12/04 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
学生党支部工作总结2015
2015/05/26 职场文书
刘胡兰观后感
2015/06/16 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
创新创业项目计划书该怎样写?
2019/08/13 职场文书