Ionic v4 和 Angular 无法获取循环生成的幻灯片的离子幻灯片的内部文本
Ionic v4 and Angular Cannot able to get the inner text of ion-slide of loop generated slides
我在 <ion-slide>
中显示一个数组,使用 *ngFor
循环定义的数组:
status: string[] = [
'Active',
'Inactive',
'Ended'
];
@ViewChild('slideWithNav') slides: IonSlides;
@ViewChild('status') slide: IonSlide;
这里是 html 脚本:
<ion-slides class="fullWidth" [options]="slideOptsOne" #slideWithNav (ionSlideDidChange)="SlideDidChange($event)">
<ion-slide #status *ngFor="let s of status" >
<ion-col>
{{s}}
</ion-col>
</ion-slide>
</ion-slides>
当幻灯片发生变化时,我需要获取s
的值,到运行一个特定的函数。
我尝试使用 (ionSlideDidChange)
:
访问它
SlideDidChange(s) {
console.log(this.slides);
}
但是我找不到任何与<ion-slide>
内在价值相关的东西。
我尝试了以下 script:
import { Slides } from 'ionic-angular';
import { ViewChild, ViewChildren, QueryList } from '@angular/core';
@ViewChildren('CardSlider') cardSliders: QueryList<Slides>;
onCardChanged(){ let slides= this.slides.toArray();
let slider= slides[this.currentSuitIndex];
this.currentCardIndex[this.currentSuitIndex] = cardSlider.getActiveIndex();
console.log('Status', slider.getActiveIndex());
}
但是也没用。所需的输出是当我在 Active
幻灯片中时,我需要控制台 "Active" 和 运行 所需的方法。
我找到了解决方案。显然激活索引是一个承诺:
SlideDidChange(s)
{
this.slides.getActiveIndex().then(
(index)=>{
this.currentIndex = index;
});
}
通过使用 .then()
我们可以获得当前索引,并使用 SWITCH
个案索引和 运行 相应的所需方法。
我在 <ion-slide>
中显示一个数组,使用 *ngFor
循环定义的数组:
status: string[] = [
'Active',
'Inactive',
'Ended'
];
@ViewChild('slideWithNav') slides: IonSlides;
@ViewChild('status') slide: IonSlide;
这里是 html 脚本:
<ion-slides class="fullWidth" [options]="slideOptsOne" #slideWithNav (ionSlideDidChange)="SlideDidChange($event)">
<ion-slide #status *ngFor="let s of status" >
<ion-col>
{{s}}
</ion-col>
</ion-slide>
</ion-slides>
当幻灯片发生变化时,我需要获取s
的值,到运行一个特定的函数。
我尝试使用 (ionSlideDidChange)
:
SlideDidChange(s) {
console.log(this.slides);
}
但是我找不到任何与<ion-slide>
内在价值相关的东西。
我尝试了以下 script:
import { Slides } from 'ionic-angular';
import { ViewChild, ViewChildren, QueryList } from '@angular/core';
@ViewChildren('CardSlider') cardSliders: QueryList<Slides>;
onCardChanged(){ let slides= this.slides.toArray();
let slider= slides[this.currentSuitIndex];
this.currentCardIndex[this.currentSuitIndex] = cardSlider.getActiveIndex();
console.log('Status', slider.getActiveIndex());
}
但是也没用。所需的输出是当我在 Active
幻灯片中时,我需要控制台 "Active" 和 运行 所需的方法。
我找到了解决方案。显然激活索引是一个承诺:
SlideDidChange(s)
{
this.slides.getActiveIndex().then(
(index)=>{
this.currentIndex = index;
});
}
通过使用 .then()
我们可以获得当前索引,并使用 SWITCH
个案索引和 运行 相应的所需方法。