2016-11-07 7 views
0

しかし、私はスライドを使用しようとしています。その後、インスタンスにアクセスして、プログラムでslidetoの機能を使用できます。イオン2スライドのインスタンスにアクセスしようとしています - 定義されていない返信

私はドキュメントに従っていますが、私は未定義に戻っています。

以下

は、ページの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> 

私はいくつかの異なるものが、それぞれの時間を試してみましたthis.slider定義されていません。

ご協力いただければ幸いです

答えて

1

これは、コンストラクタの実行時にページが読み込まれないために発生しています。 ビューがロードされた後にスライドが定義されるため、ionviewdidloadをオーバーライドして正しく処理できます。

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

ありがとう、私はインスタンスを取得できましたが、this.slider.slideTo(2、300)などのメソッドは使用できませんでした。何か案は?あなたの助けに感謝します。 – jonnyhitek

+0

それを解決するための心配はありませんthanks @ misha130 – jonnyhitek

関連する問題