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 个案索引和 运行 相应的所需方法。