试图访问离子2幻灯片实例 - 返回undefined

时间:2016-11-07 19:06:11

标签: angular typescript ionic-framework ionic2

然而我正在尝试使用幻灯片。然后获得对实例的访问权限,以便我可以以编程方式使用slideto功能。

我已经按照文档进行了操作,但是我一直没有定义。

以下是第ts页:

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

import { NavController, NavParams, Slides} from 'ionic-angular';

@Component({
  selector: 'holiday',
  templateUrl: 'holiday.html'
})
export class Holiday {


    selectedItem: any;

    @ViewChild('ghbslides') slider: Slides;
    constructor(public navCtrl: NavController, public navParams: NavParams) {

            console.log(this.slider); // returns undefined
            this.selectedItem = navParams.get('holiday');

      } 

onSlideChanged(slide) {
    console.log("slid");
}



}  

以下是我的模板片段,我在其中定义了幻灯片:

<ion-slides #ghbslides (ionDidChange)="onSlideChanged(index)">

      <ion-slide>
        <h2>Slide 1</h2>
      </ion-slide>

      <ion-slide>
        <h2>Slide 2</h2>
      </ion-slide>

      <ion-slide>
        <h2>Slide 3</h2>
      </ion-slide>

    </ion-slides>

我尝试了一些不同的东西,但每次都没有定义.slider。

任何帮助都会非常感激,希望我错过了一些非常明显的东西。

1 个答案:

答案 0 :(得分:1)

发生这种情况是因为在运行构造函数时未加载页面。 加载视图后将定义幻灯片,因此您可以覆盖ionviewdidload以正确处理此问题。

ionViewDidLoad() {
        console.log(this.slider);
  }