ion-refresher隶属于ionContentionScroll,

允许你添加下拉刷新滚动视图。

把它作为 ionContentionScroll元素的第一个子元素。

当刷新完成时,从你的控制器中广播($broadcast)出 'scroll.refreshComplete'事件。

ion-scroll创建一个包含所有内容的可滚动容器。

ion-scroll(包涵在ionContent中)
授权: $ionicScrollDelegate

创建一个包含所有内容的可滚动容器。

ion-infinite-scroll
隶属于ionContentionScroll

当用户到达页脚或页脚附近时,ionInfiniteScroll指令允许你调用一个函数 。

当用户滚动的 距离超出底部的内容时,就会触发你指定的 on-infinite

当没有更多数据加载时,就可以用一个简单的方法阻止无限滚动,那就是angular的ng-if 指令:

$ionicScrollDelegate

授权控制滚动视图(通过ionContentionScroll指令创建)。

该方法直接被$ionicScrollDelegate服务触发,来控制所有滚动视图。用 $getByHandle方法控制特定的滚动视图。

方法

resize()

告诉滚动视图重新计算它的容器大小。

scrollTop([shouldAnimate])

参数类型详情
shouldAnimate
(可选)
布尔值

是否应用滚动动画。

scrollBottom([shouldAnimate])

参数类型详情
shouldAnimate
(可选)
布尔值

是否应用滚动动画。

scrollTo(left, top, [shouldAnimate])

参数类型详情
left数值

水平滚动的值。

top数值

垂直滚动的值。

shouldAnimate
(可选)
布尔值

是否应用滚动动画。

scrollBy(left, top, [shouldAnimate])

参数类型详情
left数值

水平滚动的偏移量。

top数值

垂直滚动的偏移量。

shouldAnimate
(可选)
布尔值

是否应用滚动动画。

getScrollPosition()

  • 返回: 对象 滚动到该视图的位置,具有一下属性:
    • {数值} left 从左侧到用户已滚动的距离(开始为 0)。
    • {数值} top 从顶部到用户已滚动的距离 (开始为 0)。

anchorScroll([shouldAnimate])

告诉滚动视图用一个带有id的滚动元素匹配window.location.hash。

如果没有匹配到元素,它会滚动到顶部。

参数类型详情
shouldAnimate
(可选)
布尔值

是否应用滚动动画。

getScrollView()

  • 返回: 对象 匹配具有授权的滚动视图。

rememberScrollPosition(id)

当滚动视图被销毁时(用户离开页面),页面最后的滚动位置会被指定的索引保存。

注意:根据一个ion-nav-view将页面和一个视图关联,rememberScrollPosition自动保存它们的滚动。

相关方法:scrollToRememberedPosition, forgetScrollPosition (低)。

在下面的例子中,ion-scroll元素的滚动位置会被保留, 甚至当用户切换开关时。

<ion-toggle ng-model="shouldShowScrollView"></ion-toggle>
<ion-scroll delegate-handle="myScroll" ng-if="shouldShowScrollView">
  <div ng-controller="ScrollCtrl">
    <ion-list>
      <ion-item ng-repeat="i in items">{{i}}</ion-item>
    </ion-list>
  </div>
</ion-scroll>
function ScrollCtrl($scope, $ionicScrollDelegate) {
  var delegate = $ionicScrollDelegate.$getByHandle('myScroll');

  // 这里可以放任何唯一的ID。重点是:要在每次重新创建控制器时
  // 我们要加载当前记住的滚动值。
  delegate.rememberScrollPosition('my-scroll-id');
  delegate.scrollToRememberedPosition();
  $scope.items = [];
  for (var i=0; i<100; i++) {
    $scope.items.push(i);
  }
}
参数类型详情
id字符串

保留已滚动位置的滚动视图的id。

forgetScrollPosition()

停止保存这个滚动视图的滚动位置。

scrollToRememberedPosition([shouldAnimate])

如果这个滚动视图有个和它的滚动位置关联的id(通过调用rememberScrollPosition方法),然后记住那个位置,加载那个位置然后滚动到那个位置。

参数类型详情
shouldAnimate
(可选)
布尔值

是否应用滚动动画。

$getByHandle(handle)

参数类型详情
handle字符串 
  • 返回: delegateInstance一个代表性实例就是只控制带有delegate-handle的滚动视图来匹配给定的句柄。
例如: $ionicScrollDelegate.$getByHandle('my-handle').scrollTop();


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐