如何在 Ionic 4 中每 10 秒移动一次 Ion-Slides?

How to move Ion-Slides next after every 10 second in Ionic 4?

我正在创建 Ionic 4 plus Angular 应用程序。因为我正在使用 Ion-Slides 来一一显示问题的数量。现在我想每 10 秒移动一次 Ion-Slides。

Ionic Slides Documentation

你可以这样做,

.html

<ion-slides  #slid autoplay="5000" loop="true" speed="500" pager="true"  > 
          <ion-slide *ngFor="let item of cars">
            <img src="{{item}}" width="400px" height="250px">
          </ion-slide>
        </ion-slides>

.ts

import { Component, OnInit, ViewChild } from '@angular/core';

import { Platform } from 'ionic-angular';

import { TabsPage } from '../pages/tabs/tabs';




@Component({
  templateUrl: 'app.html'
})
export class MyApp {
  rootPage:any = TabsPage;


cars=[
"https://imgd.aeplcdn.com/1056x594/ec/79/85/9802/img/ol/Lamborghini-Aventador-Front-view-52648.jpg?v=201711021421&q=80",
  "https://imgd.aeplcdn.com/1056x594/ec/79/85/9802/img/ol/Lamborghini-Aventador-Right-Front-Three-Quarter-52645.jpg?v=201711021421&q=80",
  "https://imgd.aeplcdn.com/1056x594/ec/79/85/9802/img/ol/Lamborghini-Aventador-Right-Side-52646.jpg?v=201711021421&q=80",
  "https://imgd.aeplcdn.com/1056x594/ec/79/85/9802/img/ol/Lamborghini-Aventador-Left-Front-Three-Quarter-52647.jpg?v=201711021421&q=80",
  "https://imgd.aeplcdn.com/1056x594/ec/79/85/9802/img/ol/Lamborghini-Aventador-Front-view-52649.jpg?v=201711021421&q=80",
  "https://imgd.aeplcdn.com/1056x594/ec/79/85/9802/img/ol/Lamborghini-Aventador-Rear-view-52650.jpg?v=201711021421&q=80"

];


}

这里是 stackblitz link [https://stackblitz.com/edit/ionic-8qkwca ]

这是ionic 4的解释

html.

   <ion-slides  [options]="slideOpts"  > 
          <ion-slide *ngFor="let item of cars">
            <img src="{{item}}" width="400px" height="250px">
          </ion-slide>
   </ion-slides>

.ts

import { Component, ViewChild } from '@angular/core';
import {IonSlides} from '@ionic/angular';
export class HomePage {
     @ViewChild(IonSlides) slides: IonSlides;

cars=[
"https://imgd.aeplcdn.com/1056x594/ec/79/85/9802/img/ol/Lamborghini-Aventador-Front-view-52648.jpg?v=201711021421&q=80",
  "https://imgd.aeplcdn.com/1056x594/ec/79/85/9802/img/ol/Lamborghini-Aventador-Right-Front-Three-Quarter-52645.jpg?v=201711021421&q=80",
  "https://imgd.aeplcdn.com/1056x594/ec/79/85/9802/img/ol/Lamborghini-Aventador-Right-Side-52646.jpg?v=201711021421&q=80",
  "https://imgd.aeplcdn.com/1056x594/ec/79/85/9802/img/ol/Lamborghini-Aventador-Left-Front-Three-Quarter-52647.jpg?v=201711021421&q=80",
  "https://imgd.aeplcdn.com/1056x594/ec/79/85/9802/img/ol/Lamborghini-Aventador-Front-view-52649.jpg?v=201711021421&q=80",
  "https://imgd.aeplcdn.com/1056x594/ec/79/85/9802/img/ol/Lamborghini-Aventador-Rear-view-52650.jpg?v=201711021421&q=80"

];




ngOnInit(){
  this.slides.startAutoplay().then(()=>{})}
}
 slideOpts = {
   speed: 10000
  };

您可以使用 ViewChild 抓取组件,然后您可以在页面初始化时使用它的方法。 startAutoplay() 在您链接的文档中提到。幻灯片选项允许您设置转换速度。如果您想要一个每 10 秒翻转一次幻灯片的真正解决方案,您可以编写一个异步方法,每 10 秒更改一次幻灯片。如果您需要帮助,请发表评论。