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 ...
随机推荐
- highcharts 动态生成x轴和折线图
highchart 动态生成x轴和折线图 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8&qu ...
- 标准库string的用法探讨
之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至 ...
- 激活JetBrains的IDE(PhpStorm、WebStorm、IntelliJ IDEA)
JetBrains 授权服务器(License Server URL): http://idea.imsxm.com/ 转自: http://www.imsxm.com/jetbrains-licen ...
- C++ for fun & test
#include <iostream> using namespace std; class DaYe { public: const DaYe & gege() const { ...
- 启动hive出错,提示没有权限
报错信息如下: which: no hbase in (/usr/local/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/bin:/usr/local/hive/bin:/ ...
- apt-get install 的替换命令及mysql安装问题的解决
Some packages could not be installed. This may mean that you haverequested an impossible situation o ...
- Android自己定义控件--圆形进度条(中间有图diao)
智能家居越来越流行,在智能家居中我们常要表现一些数据的百分比 圆形度条中间加个图是一种很流行的自己定义View 1.第一步 你首先须要对类进行继承View public class CirclePro ...
- daterangepicker 使用方法总结
daterangepicker 是一个时间段选择插件.官网地址:http://www.daterangepicker.com/ 项目中需要实现如下图的效果: 1.引入该插件所需要的JS 和 CSS , ...
- laravel 参数配置
1:在项目根目录下有个叫.env的文件.这个文件是配置配置.由config文件下的app.php 直接读取. #参数解释 APP_ENV=local #访问地址 APP_DEBUG=true #是否开 ...
- solr学习2
1:solr中的时间问题 solr中显示的时间默认会比我们本机时间少八个小时,因为时区不一样. 在solr的web页面查看会发现时间少八个小时. 但是使用java代码操作的时候是整成的的,所以在这只需 ...