2015-10-13 82 views
0

是否可以在啓動時禁用滑塊功能,同時我仍然可以設置自己的活動頁面?在啓動時禁用離子滑塊

我發現這樣做的伎倆,在HTML

<ion-slide-box active-page="disableSlide()"> 
    <ion-slide>Slide 1</ion-slide> 
    <ion-slide ng-click="previous()">Slide 2</ion-slide> 
    <ion-slide>Slide 3</ion-slide> 
</ion-slide-box> 

在JavaScript中,

$scope.disableSlide = function(){ 
    $ionicSlideBoxDelegate.enableSlide(false); 
    return 1; 
} 

$scope.previous = function(){ 
    $ionicSlideBoxDelegate.previous(); 
} 

但是當我點擊以前,我在這裏得到這個錯誤

Error: [$compile:nonassign] Expression 'disableSlide()' used with directive 'ionSlideBox' is non-assignable! 

演示,http://codepen.io/anon/pen/Bodqor

請幫助我,謝謝。

+0

檢查你的html ' – LeftyX

+0

固定,謝謝,但問題依舊。 – karfai

回答

1

<ion-slide-box>沒有active-page屬性,您可以在documentation中看到。

$ionicSlideBoxDelegate.enableSlide(false); 

,但你仍然要更改幻燈片與ng-click

,因爲你已經禁用滑塊你得到錯誤。

如果要禁用滑塊時顯示的視圖,您可以使用$ionicSlideBoxDelegate.enableSlide(false);但你最好把它包裝在一個函數:

function changeSlideStatus() 
{ 
    $scope.slideEnabled = !$scope.slideEnabled; 
    $scope.slideStatusTest = $scope.slideEnabled ? "Enabled" : "Disabled"; 

    $ionicSlideBoxDelegate.enableSlide($scope.slideEnabled); 
} 

$scope.slideEnabled是一個布爾值屬性,它定義狀態 的滑塊。

當導航視圖進入您可以更改狀態:

$scope.$on('$ionicView.enter', function(){ 
    changeSlideStatus(); 
}); 

你可以用這個Plunker玩。在您可以禁用頁眉/使滑塊只是調用changeSlideStatus();

<ion-nav-buttons side="left"> 

    <button class="button button-positive" 
      ng-click="changeStatus()"> 
    {{slideStatusTest}} 
    </button> 

</ion-nav-buttons> 

PS:這是被禁用的。

相關問題