2017-04-19 8 views
1

私は要素をng-repeatとし、データをロードして(バックエンドサーバーから)スライドを作成します。Ionic Slider - ng-repeatを実行した後、特定のスライダの後でインデックスを選択する方法は?

ユーザーが特定のスライドをロックするボタンがあります。「スライドがロックされています」というステータスとロックされたスライドのインデックスを保存します。

これまでのところ、ユーザーがその画面を離れて後で戻ったときに問題が発生しました。スライダーの「ロック状態」がある場合、以前に保存されたインデックスを使用してそのスライダーに変更する必要がありますこのよりよいアプローチ)。 $の範囲でそう

上の$( '$ 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 
}; 

は、このヘルプを願っています。

関連する問題