$ ionicSlideBoxDelegate. $ getByHandle ('slider' + index) .next () не работает в множественном ионном слайд-боксе Ioni c 1 с ng-repeat - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть несколько ионных слайд-боксов под ng-repeat.

  • Шаблон
<ul class="list">
  <li class="item" ng-repeat="item in items" repeat-done="repeatDone()">
    <ion-slide-box delegate-handle="slider{{$index}}" show-pager="true" on-slide-changed="onSlideChanged($index)">
      <ion-slide ng-repeat="slide in item.slides">
        <img ng-src="{{slide.filename}}" >
        <div class="slider-nav">
          <a class="prevSlide" ng-click="prevSlide($parent.$index)">&lt;</a>
          <a class="nextSlide" ng-click="nextSlide($parent.$index)">&gt;</a>
        </div>        
      </ion-slide>
    </ion-slide-box>
  </li>
</ul>
  • Контроллер. js
$scope.prevSlide = function(snd) {
  $ionicSlideBoxDelegate.$getByHandle('slider'+snd).previous();
};
$scope.nextSlide = function(snd) {
  $ionicSlideBoxDelegate.$getByHandle('slider'+snd).next();
};
$scope.repeatDone = function() {
  $ionicSlideBoxDelegate.update();
};

Функция prevSlide и nextSlide не работает не работает.

Я получаю следующую ошибку.

ionic.bundle.min.js:150 Delegate for handle "slider0" could not find a corresponding element with delegate-handle="slider0"! next() was not called! Possible cause: If you are calling next() immediately, and your element with delegate-handle="slider0" is a child of your controller, then your element may not be compiled yet. Put a $timeout around your call to next() and try again.

Если я использую делегат-дескриптор = "slider1" вместо слайдера {{$ index}}, тогда функция навигации слайдера работает для всех слайдеров одновременно.

Есть ли способ заставить функцию навигации работать для каждого слайд-бокса?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...