gpt4 book ai didi

javascript - 如何告诉 ionic 幻灯片显示什么幻灯片 (slideTo)

转载 作者:行者123 更新时间:2023-11-30 19:19:28 24 4
gpt4 key购买 nike

我有一个包含 ion-slides 的模态框元素。在主页中,我有图像的缩略图,在 (click) 上使用 slider 打开模态。我需要将 slider slideTo 设置为带有所选缩略图索引的幻灯片,但尚未使其正常工作。

我已经完成了将正确的索引传递给模态并验证它记录到控制台。在ionic 4 docs , 我们被定向到 swiper docs ,其中可以看到 slideTo 方法存在,但我只是不知道如何在 ionic 初始化 slider 时使用它。我关注了 tutorial使模态和 slider 继续运行,除了在右侧幻灯片上打开 slider 外,一切都很好。我尝试了很多方法来遵循 swiper 文档。此外, slider 的缩略图数组和图像数组相同,因此索引匹配。

这里是模态/ slider 的 ts 文件:

import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
import { NavParams, ModalController } from '@ionic/angular';

@Component({
selector: 'app-zoom-modal',
templateUrl: './zoom-modal.component.html',
styleUrls: ['./zoom-modal.component.scss'],
})
export class ZoomModalComponent implements OnInit {

images: any;
index: number;
img: any;

@ViewChild('slider', { static: false })slider: ElementRef;

sliderOpts = {
zoom: {
maxRatio: 3,
},
slideTo: this.index // doesn't work
};

constructor(private navParams: NavParams, private modalController: ModalController) { }

ngOnInit() {
console.log(this.index);
}

zoom(zoomIn: boolean){
let zoom = this.slider.nativeElement.swiper.zoom;
if (zoomIn) {
zoom.in();
} else {
zoom.out();
}
}

close() {
this.modalController.dismiss();
}

slideLoad(){
let modelslider = this.slider.nativeElement.swiper;
modelslider.slideTo(this.index); // doesn't work
}

}

文档中方法的截图:

slideTo method description in the swiper docs

模板:

<ion-content fullscreen>
<ion-slides [options]="sliderOpts" (ionSlidesDidLoad)="slideLoad()" (ionSlideDidChange)="slideChange()" #slider>

<ion-slide *ngFor="let img of images; let i = index">
<div class="swiper-zoom-container">
<img src="{{ img.url }}" />
</div>
</ion-slide>

</ion-slides>

<ion-toolbar fixed>
<div id="modal-button-wrap">
<ion-button (click)="close()" id="modal-close" class="clear">
<ion-icon name="close"></ion-icon>
</ion-button>
<ion-button (click)="delete()" id="modal-edit">
<ion-icon name="create"></ion-icon>
<ion-label>&nbsp;&nbsp;EDIT PHOTO</ion-label>
</ion-button>
<ion-button (click)="delete()" id="modal-delete" class="clear">
<ion-icon name="trash"></ion-icon>
</ion-button>
</div>
</ion-toolbar>
</ion-content>

最佳答案

在模板中

<ion-slides #slides> </ion-slides>

在组件中

import { IonSlides } from '@ionic/angular';
--
@ViewChild('slides', {static: true}) slides: IonSlides;
--
this.slides.slideTo(your_slidenumber);

关于javascript - 如何告诉 ionic 幻灯片显示什么幻灯片 (slideTo),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57642699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com