ionic 下拉刷新,上拉加载更多
1)下拉刷新用的是 ion-refresher,使用示例如下:
<ion-refresher
pulling-text="Pull to refresh..."
on-refresh="doRefresh()">
</ion-refresher>
详情说明请看官方文档:http://ionicframework.com/docs/api/directive/ionRefresher/
刷新后需要收起 loading 动画
$scope.$broadcast('scroll.refreshComplete');
2)上拉加载用的是 ion-infinite-scroll,使用示例如下:
<ion-infinite-scroll
on-infinite="loadMore()"
distance="1%">
</ion-infinite-scroll>
详情说明请看官方文档:http://ionicframework.com/docs/api/directive/ionInfiniteScroll/
加载完之后需要收起 loading 动画
$scope.$broadcast('scroll.infiniteScrollComplete');
PS:需要注意的是这两个功能标签都是需要写在 ion-content 标签里的,不然会出错
来一个完整的demo:
html部分
<ion-view view-title="{{title}}" id="category">
<ion-nav-buttons side="left" class="has-header">
<button class="button button-icon icon ion-ios-arrow-back" ui-sref="page6"></button>
</ion-nav-buttons>
<ion-nav-buttons side="right" class="has-header">
<button class="button button-icon icon ion-android-home" ui-sref="page6"></button>
</ion-nav-buttons>
<ion-content padding="true" class="has-header">
<ion-refresher
pulling-text="Pull to refresh..."
on-refresh="doRefresh()">
</ion-refresher>
<ion-list id="page5-list5">
<ion-item ng-repeat="item in lists" class="item-grid-two" id="page5-list-item{{item.product_id}}">
<div class="pic">
<a href="/wap/product-{{item.product_id}}.html">
<img src="http://pics.imopark.com/{{item.default_image}}"></a><i></i>
</div>
<div class="product-info">
<div class="p-price-bar">
<span class="fl p-price"> <em class="price">¥{{item.price}}</em>
</span>
<span class="fl p-discount"> <em class="">{{item.zk}}折</em>
</span>
<span class="fr p-sale-num">已售 {{item.codersum}}</span>
</div>
<h2 class="p-name">
<a href="/wap/product-{{item.product_id}}.html" class="split">{{item.name}}</a>
</h2>
</div>
</ion-item>
</ion-list>
<ion-infinite-scroll
ng-if="can_loadmore()"
on-infinite="loadMore()"
distance="1%">
</ion-infinite-scroll>
</ion-content>
</ion-view>
js部分
angular.module('app.controllers', [])
.controller('categoryCtrl', ['$scope', '$http', '$stateParams','$ionicLoading', // The following is the constructor function for this page's controller. See https://docs.angularjs.org/guide/controller
// You can include any angular dependencies as parameters for this function
// TIP: Access Route Parameters for your page via $stateParams.parameterName
function ($scope, $http, $stateParams, $ionicLoading) {
var _arguments = arguments;
$scope.lists = [];
var page_no = 1;
var page_size = 20;
var page_total = 0;
$scope.can_loadmore = function(){
return page_no<page_total;
};
$scope.$on('$ionicView.loaded', function(event, data) {
page_no = 1;
get_goods_list(_arguments, {'cat_id':$stateParams.cat_id, 'page_no':page_no, 'page_size':page_size},function(res){
page_total = res.pager.total;
});
});
$scope.doRefresh = function(){
page_no = 1;
get_goods_list(_arguments, {'cat_id':$stateParams.cat_id, 'page_no':page_no, 'page_size':page_size},function(){
$scope.$broadcast('scroll.refreshComplete');
});
};
$scope.loadMore = function(){
page_no += 1;
get_goods_list(_arguments, {'cat_id':$stateParams.cat_id, 'page_no':page_no, 'page_size':page_size},function(){
$scope.$broadcast('scroll.infiniteScrollComplete');
});
};
}])
ionic 下拉刷新,上拉加载更多的更多相关文章
- SwipeRefreshLayout实现下拉刷新上滑加载
1. 效果图 2.RefreshLayout.java package myapplication.com.myapplication; import android.content.Context; ...
- Android 下拉刷新上啦加载SmartRefreshLayout + RecyclerView
在弄android刷新的时候,可算是耗费了一番功夫,最后发觉有现成的控件,并且非常好用,这里记录一下. 原文是 https://blog.csdn.net/huangxin112/article/de ...
- juery下拉刷新,div加载更多元素并添加点击事件(二)
buffer.append("<div class='col-xs-3 "+companyId+"' style='padding-left: 10px; padd ...
- 移动端下拉刷新上拉加载-mescroll.js插件
最近无意间看到有这么一个上拉刷新下拉加载的插件 -- mescroll.js,个人感觉挺好用的,官网地址是:http://www.mescroll.com 然后我就看了一下文档,简单的写了一个小dem ...
- Android如何定制一个下拉刷新,上滑加载更多的容器
前言 下拉刷新和上滑加载更多,是一种比较常用的列表数据交互方式. android提供了原生的下拉刷新容器 SwipeRefreshLayout,可惜样式不能定制. 于是打算自己实现一个专用的.但是下拉 ...
- Android 自定义 ListView 上下拉动“刷新最新”和“加载更多”歌曲列表
本文内容 环境 测试数据 项目结构 演示 参考资料 本文演示,上拉刷新最新的歌曲列表,和下拉加载更多的歌曲列表.所谓"刷新最新"和"加载更多"是指日期.演示代码 ...
- [ionic开源项目教程] - 第7讲 实现下拉刷新上拉加载ion-refresher和ion-infinite-scroll
第7讲 实现下拉刷新上拉加载ion-refresher和ion-infinite-scroll 1.将tab1.html的代码改为如下: <ion-content> <ion-ref ...
- 带你实现开发者头条APP(五)--RecyclerView下拉刷新上拉加载
title: 带你实现开发者头条APP(五)--RecyclerView下拉刷新上拉加载 tags: -RecyclerView,下拉刷新,上拉加载更多 grammar_cjkRuby: true - ...
- ListView实现Item上下拖动交换位置 并且实现下拉刷新 上拉加载更多
ListView实现Item上下拖动交换位置 并且实现下拉刷新 上拉加载更多 package com.example.ListViewDragItem; import android.app.Ac ...
- JS+CSS实现的下拉刷新/上拉加载插件
闲来无事,写了一个当下比较常见的下拉刷新/上拉加载的jquery插件,代码记录在这里,有兴趣将代码写成插件与npm包可以留言. 体验地址:http://owenliang.github.io/pull ...
随机推荐
- Maven-7:Maven配置编译的字符集方法
http://blog.csdn.net/jsjszg/article/details/9237189 ************************************************ ...
- Extjs 表单提交送给新手
Extjs的三种提交方式: 表单Ajax提交,普通提交,单独Ajax提交: 1.表单ajax提交(默认提交方式) 提交函数:当按下表单中的提交按钮时执行下面的btn函数,按照表单的name进行提交.提 ...
- Entity Framework应用:使用LINQ操作
一.什么是LINQ TO EntitiesLINQ,全称是Language-INtegrated Query(集成语言查询),是.NET语言中查询数据的一种技术.LINQ to Entities是一种 ...
- BuddyPress创建组、查看成员信息等找不到页面
BuddyPress创建组.查看成员信息等找不到页面 http://aoxuangame.com/wordpress/groups/create/ http://aoxuangame.com/word ...
- kettle优化
http://blog.csdn.net/cissyring/archive/2008/05/29/2494130.aspx 1. Join 我得到A 数据流(不管是基于文件或数据库),A包含fiel ...
- 外部引用CSS中 link与@import的区别
差别1:link属于XHTML标签,而@import完全是CSS提供的一种方式. link标签除了可以加载CSS外,还可以做很多其它的事情,比如定义RSS,定义rel连接属性等,@import就只能加 ...
- 关于SQL语句的一些注意事项
1.Into 表后要编辑-IntelliSense-刷新本地缓存 才能访问新表 2.Is null不是=null
- Java 经典问题
九种基本类型及封装类 基本类型 boolean byte char short int long double void 二进制位数 1 8(一字节) 16(2字节) 16(2字节) 32(4字节) ...
- 【转】【C#】ZIP、RAR 压缩与解压缩
压缩文件夹 源码如下 using System; using System.Data; using System.Configuration; using System.Web; using Syst ...
- Windows 中 .\ 和 ..\ 的区别
.\ 表示项目文件所在目录之下的目录...\ 表示项目文件所在目录向上一级目录下的目录...\..\表示项目文件所在目录向上二级目录之下的目录.