然而我正在尝试使用幻灯片。然后获得对实例的访问权限,以便我可以以编程方式使用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。
任何帮助都会非常感激,希望我错过了一些非常明显的东西。
答案 0 :(得分:1)
发生这种情况是因为在运行构造函数时未加载页面。 加载视图后将定义幻灯片,因此您可以覆盖ionviewdidload以正确处理此问题。
ionViewDidLoad() {
console.log(this.slider);
}