2015-10-13 64 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:这是被禁用的。

相关问题