не работает, когда я добавляю два в моем приложении - PullRequest
0 голосов
/ 24 марта 2020

Я создаю приложение с вкладками. В ** tab2.page. html ** у меня есть 2 внутри, я оставляю свой код, чтобы лучше понять:

<ion-slides class="slidesTab2" #slidesTab2 pager="false">
    <ion-slide>
      ---- código ----
    </ion-slide>
    <ion-slide>
      ---- código ----
    </ion-slide>
</ion-slides>

--- código ---

<ion-col>
   <ion-button shape="round" size="small" fill="outline" color="tertiary" (click)="goToNext()">
   Next
   </ion-button>
</ion-col>
   <ion-button shape="round" size="small" fill="outline" color="tertiary" (click)="goToPrev()">
   Prev
   </ion-button>
</ion-col>

и соответствующий ему класс ** tab2.page.ts **:


@ViewChild('slidesTab2', { static: true }) slidesTab2: IonSlides;
 --- código ---

goToNext() {
   this.slidesTab2.lockSwipes( false );
   this.slidesTab2.slideNext();
   this.slidesTab2.lockSwipes( true );
}

goToPrev() {
   this.slidesTab2.lockSwipes( false );
   this.slidesTab2.slidePrev();
   this.slidesTab2.lockSwipes( true );
}

На ** tab3.page. html ** У меня есть еще 2 внутри, я оставляю код, чтобы лучше понять:

<ion-slides class="slidesTab3" #slidesTab3 pager="false">
    <ion-slide>
      ---- código ----
    </ion-slide>
    <ion-slide>
      ---- código ----
    </ion-slide>
</ion-slides>

--- código ---

<ion-col>
   <ion-button shape="round" size="small" fill="outline" color="tertiary" (click)="goToNext()">
   Next
   </ion-button>
</ion-col>
   <ion-button shape="round" size="small" fill="outline" color="tertiary" (click)="goToPrev()">
   Prev
   </ion-button>
</ion-col>

и соответствующий ему класс ** tab3 .page.ts **:

@ViewChild('slidesTab3', { static: true }) slidesTab3: IonSlides;
 --- código ---

goToNext() {
   this.slidesTab3.lockSwipes( false );
   this.slidesTab3.slideNext();
   this.slidesTab3.lockSwipes( true );
}

goToPrev() {
   this.slidesTab3.lockSwipes( false );
   this.slidesTab3.slidePrev();
   this.slidesTab3.lockSwipes( true );
}

Проблема, которая работает только на первых слайдах, которые я открываю. То есть я открываю приложение, открываю tab2 и слайды работают отлично. И если я в следующий раз открою tab3, слайды, объявленные в этом классе, не будут работать. Я попытался напечатать активный индекс с помощью ** slide.getActiveIndex (); ** на каждую функцию, но слайды, которые я открываю вторые, те, которые не работают, печатают пустыми. Как я могу исправить это, чтобы заставить работать 2 слайда? Спасибо.

...