Ionic Slider - 在ng-repeat完成后如何通过索引选择特定的滑块?

时间:2017-04-19 12:03:49

标签: angularjs ionic-framework

我有 元素 ng-repeat 来加载数据并创建幻灯片(来自后端服务器)。

我有一个用户锁定特定幻灯片的按钮,我保存了“有锁定幻灯片”的状态和锁定幻灯片的索引。

到目前为止一直很好,问题是当用户离开该屏幕并稍后返回时,如果某个滑块存在“锁定状态”,则必须使用以前保存的de index更改为该滑块(我找不到更好的处理这个问题)。

所以在 $ scope。$ on('$ ionicView.afterEnter',function(){})我有:

if ($rootScope.swiperLocked) {
  var nextSlide = 2; //$rootScope.initialSlide
  $rootScope.swiperLocked = false;
  $scope.slider.unlockSwipes();
  console.log('locked at ' + nextSlide);
  $scope.slider.slideTo(nextSlide); // This is NOT WORKING
  //$rootScope.swiperLocked = true;
  //$scope.slider.lockSwipes();
}

模板:

<ion-slides options="data.sliderOptions" slider="data.sliderDelegate">
  <ion-slide-page ng-repeat="card in profile.cards track by $index">
    <!-- content here -->
  </ion-slide-page>
</ion-slides>

我可以做些什么来改变我的具体指数?假设我已经用索引2锁定了幻灯片,然后当我回到这个屏幕时,我想显示那张幻灯片。

感谢任何帮助。 感谢。

1 个答案:

答案 0 :(得分:1)

忘掉$scope.$on('$ionicView.afterEnter', function () {})的事情。尝试使用 sliderOptions

在选项中使用initialSlide

$scope.data.sliderOptions = {
        'initialSlide': 0, // <-- Update your locked page index here!
        'loop': false,
        'direction': 'vertical'  // Or "horizontal"
        'speed': 300 //0.3s transition
};

希望得到这个帮助。