Ioni c 5 Слайды ionSlideDidChange не вызываются для последнего слайда - PullRequest
1 голос
/ 27 мая 2020

В настоящее время я использую ion-слайды (в Ioni c 5) и не могу получить выбранный указатель слайдов для последнего слайда. Эта проблема возникает после того, как я установил slidesPerView на 1.3.

Событие даже ionSlideDidChange не запускается, когда я пытался перейти к последнему слайду (когда я перешел на другие слайды, событие сработало нормально.)

<ion-slides #subscriptionSlider [options]="slideOpts" pager="true" (ionSlideDidChange)="ionSlideDidChange()">

Я думаю, что есть проблема со стороной Ioni c, потому что getActiveIndex также работает неправильно, если я на последнем слайде (хотя он возвращает индекс последнего второго слайда)

Кто-нибудь сталкивался с этой проблемой раньше?

1 Ответ

1 голос
/ 28 мая 2020

Решенная проблема с использованием ionSlideTouchEnd события

Вот код

<ion-slides #subscriptionSlider [options]="slideOpts" pager="true" (ionSlideTouchEnd)="ionSlideTouchEnd($event)">
...
</ion-slides>

// And then in ts file
ionSlideTouchEnd(event) {
    this.subscriptionSlider.getActiveIndex().then(index => {
      let realIndex = index;
      if (event.target.swiper.isEnd) {  // Added this code because getActiveIndex returns wrong index for last slide
        realIndex = this.subscriptions.length - 1;
      }
      // You can now use real index 
    });
  }

Надеюсь, это поможет другим, у которых есть проблема с активным индексом для ионных слайдов в Ioni c 5.

...