如何在 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。
你可以这样做,
.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 秒更改一次幻灯片。如果您需要帮助,请发表评论。
我正在创建 Ionic 4 plus Angular 应用程序。因为我正在使用 Ion-Slides 来一一显示问题的数量。现在我想每 10 秒移动一次 Ion-Slides。
你可以这样做,
.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 秒更改一次幻灯片。如果您需要帮助,请发表评论。