2017-04-19 46 views
1

我有这个元素与ng-repeat加载数据并创建幻灯片(从后端服务器)。离子滑块 - 在ng-repeat完成后如何通过索引选择特定滑块后?

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

到目前为止,问题出在用户离开屏幕后回来,如果有某个滑块的“锁定状态”,它必须使用先前保存的de索引更改为该滑块(我无法找到更好的方法)。

所以在$范围在$( '$ ionicView.afterEnter',函数(){})我:

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

忘记$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 
}; 

希望这有助于。