отключить ионный слайд при запуске

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 <body ng-controller="IntroCtrl"></ion-view>
  • 0
    исправлено, спасибо, но проблема осталась прежней.
Теги:
ionic-framework

1 ответ

1
Лучший ответ

<ion-slide-box> не имеет атрибута active-page как вы можете видеть в документации.

Вы получаете эту ошибку, потому что вы отключили слайдер:

$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: он отключается.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню