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 相关文章推荐
Safari5中alert的无限循环BUG
Apr 07 Javascript
JavaScript插入动态样式实现代码
Feb 22 Javascript
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
Dec 26 Javascript
JS循环遍历JSON数据的方法
Jul 08 Javascript
值得分享的Bootstrap Ace模板实现菜单和Tab页效果
Dec 30 Javascript
vuejs事件中心管理组件间的通信详解
Aug 09 Javascript
React Native验证码倒计时工具类分享
Oct 24 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
Sep 16 Javascript
vue实现歌手列表字母排序下拉滚动条侧栏排序实时更新
May 14 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
Aug 15 Javascript
highcharts.js数据绑定方式代码实例
Nov 13 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
Nov 06 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的库,结果发现很多东西
2006/12/31 PHP
让PHP支持断点续传的源码
2010/05/16 PHP
php自定义函数call_user_func和call_user_func_array详解
2011/07/14 PHP
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
PHP实现动态获取函数参数的方法示例
2018/04/02 PHP
JavaScript 检测浏览器和操作系统的脚本
2008/12/26 Javascript
jquery 操作日期、星期、元素的追加的实现代码
2012/02/07 Javascript
javascipt基础内容--需要注意的细节
2013/04/10 Javascript
在js文件中如何获取basePath处理js路径问题
2013/07/10 Javascript
jquery的ajax简单结构示例代码
2014/02/17 Javascript
jQuery中:last选择器用法实例
2014/12/30 Javascript
谈一谈jQuery核心架构设计
2016/03/28 Javascript
JavaScript对象创建模式实例汇总
2016/10/03 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
纯JS实现出生日期[年月日]下拉菜单效果
2018/06/01 Javascript
微信网页授权并获取用户信息的方法
2018/07/30 Javascript
详解小程序之简单登录注册表单验证
2019/05/13 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
2019/10/25 Javascript
JavaScript数组及常见操作方法小结
2019/11/13 Javascript
Python调用C++程序的方法详解
2017/01/24 Python
python 求10个数的平均数实例
2019/12/16 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
如何开启linux的ssh服务
2013/06/03 面试题
linux面试题参考答案(4)
2013/01/28 面试题
先进集体获奖感言
2014/02/13 职场文书
大学生优秀自荐信范文
2014/02/25 职场文书
小学生植树节活动总结
2014/07/04 职场文书
浪漫婚礼主题活动策划方案
2014/09/15 职场文书
班主任先进事迹材料
2014/12/17 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书
小程序实现筛子抽奖
2021/05/26 Javascript
linux下导入、导出mysql数据库命令的实现方法
2021/05/26 MySQL