ionic自动触发下拉刷新

需求

双击ionic底部导航栏,相应页面出现下拉刷新效果

html

<ion-content delegate-handle="scrollerHandle" overflow-scroll="false" >
    <ion-refresher on-refresh="vm.refresh()"></ion-refresher>

注:overflow-scroll="false" 必加,否则android失效

controller

//开始刷新:模拟手动下拉
autoRefresh.triggerScrollViewPullToRefresh('scrollerHandle');

service

/* 
 * zhangyafei 2018.11.29
 * 自动触发下拉刷新
 * 实例:autoRefresh.triggerScrollViewPullToRefresh('scrollerHandle');
 * 
 * */

(function(){
  angular.module('app.services')
  .service('autoRefresh', autoRefresh);
  autoRefresh.$inject = ['$ionicScrollDelegate'];
  
  function autoRefresh($ionicScrollDelegate) {
    this.triggerScrollViewPullToRefresh = function (scrollerHandle) {
        var scrollView = $ionicScrollDelegate.$getByHandle(scrollerHandle).getScrollView();
        scrollView.__publish(
            scrollView.__scrollLeft, -scrollView.__refreshHeight,
            scrollView.__zoomLevel, true);

        var d = new Date();

        scrollView.refreshStartTime = d.getTime();

        scrollView.__refreshActive = true;
        scrollView.__refreshHidden = false;
        if (scrollView.__refreshShow) {
            scrollView.__refreshShow();
        }
        if (scrollView.__refreshActivate) {
            scrollView.__refreshActivate();
        }
        if (scrollView.__refreshStart) {
            scrollView.__refreshStart();
        }
    }
  }
})();
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,726评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,044评论 2 59
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,019评论 3 119
  • 儿子睡前很沮丧,其实是我和他爸爸的错误。批评他乘法口诀没有背熟,并且否定了他在珠心算上的努力,对一个6岁的...
    晨风恋北林阅读 648评论 0 2
  • 林丰【中国平安财产保险股份有限公司厦门分公司】 【日精进打卡第12天】 【知~学习】 《六项精进》背诵1遍共16遍...
    丰疯子阅读 190评论 0 0