ionic3 multiple swiper sliders on samepage

前端 未结 1 1020
隐瞒了意图╮
隐瞒了意图╮ 2020-12-19 09:05

I am using ionic 3 while placing 3 swiper sliders on same page i am unable to control their behavior separately i am bit new for angular js as well ts and ionic

her

相关标签:
1条回答
  • 2020-12-19 09:15

    Instead of ViewChild, you can use ViewChildren to get all the instances of the slider in that page (Angular docs). Please take a look at this working plunker. The end result would be something like this:

    Like you can see in the plunker, we get all the instances of the slider, and then we just get the target instance by using its index:

    import { Component, ViewChildren, QueryList } from '@angular/core';
    import { NavController, Content, Slides } from 'ionic-angular';
    
    @Component({...})
    export class HomePage {
      @ViewChildren(Slides) slides: QueryList<Slides>;
    
      constructor() {}
    
      public move(index: number): void {
        this.slides.toArray()[index].slideNext(500);
      }      
    
    }
    

    An then in the view:

    <ion-header>
      <ion-navbar>
        <ion-title>Ionic Demo</ion-title>
      </ion-navbar>
    </ion-header>
    
    <ion-content padding>
    
      <ion-slides style="height: 75px" pager>
        <ion-slide><h1>Slide 1</h1></ion-slide>
        <ion-slide><h1>Slide 2</h1></ion-slide>
        <ion-slide><h1>Slide 3</h1></ion-slide>
      </ion-slides>
    
      <ion-slides style="height: 75px" pager>
        <ion-slide><h1>Slide 1</h1></ion-slide>
        <ion-slide><h1>Slide 2</h1></ion-slide>
        <ion-slide><h1>Slide 3</h1></ion-slide>
      </ion-slides>
    
      <ion-slides style="height: 75px" pager>
        <ion-slide><h1>Slide 1</h1></ion-slide>
        <ion-slide><h1>Slide 2</h1></ion-slide>
        <ion-slide><h1>Slide 3</h1></ion-slide>
      </ion-slides>
    
      <ion-row>
        <ion-col>
          <button (click)="move(0)" ion-button text-only>Move First</button>
        </ion-col>
        <ion-col>
          <button (click)="move(1)" ion-button text-only>Move Second</button>
        </ion-col>
        <ion-col>
          <button (click)="move(2)" ion-button text-only>Move Third</button>
        </ion-col>
      </ion-row>
    
    </ion-content>
    
    0 讨论(0)
提交回复
热议问题