我使用离子3同时在同一页面上放置3个滑动滑块我无法分别控制它们的行为我对角度js以及ts和离子有点新
这是代码
<ion-slides style="height: 30%;" pager> <ion-slide style="background-color: green" *ngFor="let post of posts"> <h1>{{post.title}}</h1> <img [src]="post.image" /> </ion-slide> </ion-slides> <ion-slides style="height: 30%;" pager> <ion-slide style="background-color: green" *ngFor="let post of posts"> <h1>{{post.title}}</h1> <img [src]="post.image" /> </ion-slide> </ion-slides>
ts是
@ViewChild(Slides) slides: Slides; goToSlide() { this.slides.slideTo(2,500); } ngAfterViewInit() { //this.slides.freeMode = true; this.slides .slidesPerView=3,this.slides.spaceBetween=5; //this.slides.loop=true; }
您可以使用ViewChildren来获取该页面中滑块的所有实例(
Angular docs),而不是ViewChild.请看一下
this working plunker.最终结果是这样的:
原文链接:https://www.f2er.com/angularjs/143227.html就像你在plunker中看到的那样,我们得到了滑块的所有实例,然后我们通过使用它的索引来获取目标实例:
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); } }
然后在视图中:
<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>