Ionic如何实现下拉刷新与上拉加载功能


Posted in Javascript onJune 03, 2016

IONIC 是目前最有潜力的一款 HTML5 手机应用开发框架。通过 SASS 构建应用程序,它提供了很多 UI 组件来帮助开发者开发强大的应用。 它使用 JavaScript MVVM 框架和 AngularJS 来增强应用。提供数据的双向绑定,使用它成为 Web 和移动开发者的共同选择。Ionic是一个专注于用WEB开发技术,基于HTML5创建类似于手机平台原生应用的一个开发框架。Ionic框架的目的是从web的角度开发手机应用,基于PhoneGap的编译平台,可以实现编译成各个平台的应用程序。

本文给大家介绍 Ioinc中怎么实现 下拉刷新和上拉加载功能的。在项目开发中经常遇到此功能,感兴趣的朋友一起看看吧。

HTML部分

<ion-view view-title="消息通知">
<ion-content class="padding">
 <!-- <ion-refresher> 下拉刷新指令 -->
<ion-refresher pulling-text="Pull to refresh" on-refresh="vm.doRefresh()"></ion-refresher>
<div class="list card" ng-repeat="message in vm.messages" >
<div class="item item-divider item-icon-right">{{message.title}}
<i class="icon" ng-click="vm.show(message)" ng-class="message.static?‘ion-arrow-down-b‘:‘ion-arrow-right-b‘"></i></div>
<div class="item item-body">
<div>
{{message.static?message.content:message.content.substr(, )}}
</div>
</div>
</div>
<!-- ion-infinite-scroll 上拉加载数据指令 distance默认% nf-if的值为false时,就禁止执行on-infinite -->
<ion-infinite-scroll ng-if="!vm.moredata" on-infinite="vm.loadMore()" distance="%" ></ion-infinite-scroll>
</ion-content>
</ion-view>

JS部分

on-refresh 下拉触发的函数 函数执行结束之前必须广播下该事件结束 $scope.$broadcast(‘scroll.refreshComplete‘);

on-infinite 上拉触发的函数 同样需要广播事件结束 $scope.$broadcast(‘scroll.infiniteScrollComplete‘);

angular.module(‘starter.controllers‘, [])
.controller(‘InfoCtrl‘, function($rootScope, $timeout, $interval, $scope, $http, services) {
var vm = $scope.vm = {
moredata: false,
messages: [],
pagination: {
perPage: ,
currentPage: 
},
init: function () {
services.getMessages({perPage: vm.pagination.perPage, page: vm.pagination.currentPage}, function (data) {
vm.messages = data;
})
},
show: function (message) {
if (message.static) {
message.static = false;
} else {
message.static = true;
}
},
doRefresh: function () {
$timeout(function () {
$scope.$broadcast(‘scroll.refreshComplete‘);
}, );
},
loadMore: function () {
vm.pagination.currentPage += ;
services.getMessages({perPage: vm.pagination.perPage, page: vm.pagination.currentPage}, function (data) {
vm.messages = vm.messages.concat(data);
if (data.length == ) {
vm.moredata = true;
};
$scope.$broadcast(‘scroll.infiniteScrollComplete‘);
})
} 
}
vm.init();
})

此处的messages 是view显示的数据,pagination是做分页加载显示的参数,service是我封装的$http服务,show方法是view信息显示的开关(这些都可以不用注意)!

关于小编给大家介绍的Ionic如何实现下拉刷新与上拉加载的相关内容就给大家介绍完了,希望对大家有所帮助,如果大家想了解更多内容敬请关注三水点靠木网站!

Javascript 相关文章推荐
IE与FireFox的兼容性问题分析
Apr 22 Javascript
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
Jun 27 Javascript
js实现运动logo图片效果及运动元素对象sportBox使用方法
Dec 25 Javascript
iframe里的页面禁止右键事件的方法
Jun 10 Javascript
JS中完美兼容各大浏览器的scrolltop方法
Apr 17 Javascript
AngularJS学习笔记之依赖注入详解
May 16 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
Aug 05 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
Jan 24 Javascript
JS实现向iframe中表单传值的方法
Mar 24 Javascript
前端开发不得不知的10个最佳ES6特性
Aug 30 Javascript
BootstrapTable加载按钮功能实例代码详解
Sep 22 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
Nov 04 Javascript
简单了解JavaScript操作XPath的一些基本方法
Jun 03 #Javascript
深入理解Javascript中的自执行匿名函数
Jun 03 #Javascript
浅谈JavaScript前端开发的MVC结构与MVVM结构
Jun 03 #Javascript
深入理解JavaScript内置函数
Jun 03 #Javascript
浅谈JavaScript的内置对象和浏览器对象
Jun 03 #Javascript
JavaScript浏览器对象之一Window对象详解
Jun 03 #Javascript
浅谈JavaScript 浏览器对象
Jun 03 #Javascript
You might like
php 不同编码下的字符串长度区分
2009/09/26 PHP
php preg_filter执行一个正则表达式搜索和替换
2012/02/27 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
2014/06/19 PHP
PHP+jQuery翻板抽奖功能实现
2015/10/19 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
jquery+thinkphp实现跨域抓取数据的方法
2016/10/15 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
一段好玩的JavaScript代码
2006/12/01 Javascript
javascript实现的网页局布刷新效果
2008/12/01 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
Bootstrap每天必学之进度条
2015/11/30 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
简单实现jquery焦点图
2016/12/12 Javascript
使用BootStrap进行轮播图的制作
2017/01/06 Javascript
详解网站中图片日常使用以及优化手法
2017/01/09 Javascript
angular和BootStrap3实现购物车功能
2017/01/25 Javascript
Vue-resource实现ajax请求和跨域请求示例
2017/02/23 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
微信小程序实现刷脸登录
2018/05/25 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
2020/12/25 Vue.js
[04:29]2016国际邀请赛中国区预选赛Ehome战队教练采访
2016/06/27 DOTA
特征脸(Eigenface)理论基础之PCA主成分分析法
2018/03/13 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
python使用Matplotlib画饼图
2018/09/25 Python
用Python批量把文件复制到另一个文件夹的实现方法
2019/08/16 Python
Python 实现自动获取种子磁力链接方式
2020/01/16 Python
django xadmin 管理器常用显示设置方式
2020/03/11 Python
python实现画图工具
2020/08/27 Python
Boden美国官网:英伦原创时装品牌
2017/07/03 全球购物
优秀员工个人的自我评价
2013/11/29 职场文书
战友聚会邀请函
2014/01/18 职场文书
乡镇三项教育实施方案
2014/03/30 职场文书
2016中考冲刺决心书
2015/09/22 职场文书