将initialSlide初始化为零以外的值时,Angular swipperJS slideChange事件不起作用



我添加了一个名为when-slideChange的方法,该方法只记录活动索引,效果非常好。

但后来我补充道:

[initialSlide]=";2〃;

,并且在加载应用程序时,我收到错误:

"无法读取未定义的属性(正在读取"activeIndex";。。如果我把它改成:

[initialSlide]=";0";

我没有收到错误

这是HTML代码:

<swiper
#swipper
[lazy]="true"
[preloadImages]="false"
[autoHeight]="true"
loadPrevNext="true"
loadPrevNextAmount="1"
[slidesPerView]="1"
[spaceBetween]="0"
[initialSlide]="2"
(swiper)="onSwiper($event)"
(slideChange)="onSlideChange()"
[navigation]="true"
dir="rtl"
>
<ng-template swiperSlide let-data> <app-p1></app-p1></ng-template>
<ng-template swiperSlide let-data> <app-p2></app-p2></ng-template>
<ng-template swiperSlide let-data> <app-p3></app-p3></ng-template>
<ng-template swiperSlide let-data> <app-p4></app-p4></ng-template>
<ng-template swiperSlide let-data> <app-p5></app-p5></ng-template>
</swiper>

这是ts代码:

@ViewChild("wipper"(私人刷卡器REF:any;

这是登录功能:

onSlideChange() {
console.log(this.swipperREF.swiperRef.activeIndex);

}

尝试使用(slidechange)="onSlideChange($event)"事件而不是(slideChange(。您应该在位置event.detail[0]获得一个具有活动索引的自定义事件。activeIndex.

您可能不会因为initialSlide=0而出错,因为它是默认值。

最新更新