如何获得离子载玻片的实例

pet*_*erc 8 ionic2 angular

我正在使用Ionic 2 ion-slides,并希望在其上调用一些实例方法.我有以下标记:

<ion-content padding>
  <ion-slides (ionDidChange)="onSlideChanged($event)" id="loopSlider">
   <ion-slide *ngFor="let slide of slides">
    <h1>{{ slide.title }}</h1>
  </ion-slide>
</ion-slides>
</ion-content>
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下代码(可能已过时)中找到的代码:

 private gotoSlide(index: number): void {
   this.sliderComponent = this.app.getComponent('loopSlider');
   this.sliderComponent.slider.slideTo(index);
  }
Run Code Online (Sandbox Code Playgroud)

this.app.getComponent('loopSlider');总是回来null.

有谁知道如何获取组件实例,以便我可以使用它的API?

jon*_*rpe 8

根据Ionic文档,您可以使用@ViewChild以下方法执行此操作:

import { Component, ViewChild } from '@angular/core';
import { Slides } from 'ionic-angular';
...

@Component({
  ...
})
class MyPage {
  @ViewChild('loopSlider') sliderComponent: Slides;

  ...
}
Run Code Online (Sandbox Code Playgroud)


Gra*_*ant 5

现在,Ionic4已经推出了一段时间,因此更新这样的答案可能是省钱的。

import { IonSlides } from '@ionic/angular';

export class...
@ViewChild(IonSlides) productSlider: IonSlides;
Run Code Online (Sandbox Code Playgroud)

  • 我不敢相信他们甚至懒得更新他们的文档。谢谢一堆。 (2认同)