我的滑动器是静态工作的,但是当我尝试添加新的幻灯片时,它就不工作了。
<swiper #slider (reachEnd)="end()" (swiper)="setSwiperInstance($event)" (slideChange)="loadNext()" [config]="config">
<ng-template swiperSlide *ngFor="let emojiBlock of initalEmojiMessages">
<ion-card class="emoji-card">
<ion-card-content class="internal-card">
<div class="emoji-carrier">
<span class="emojis">{{emojiBlock.emojis}}</span>
<span class="emojis-words">{{emojiBlock.words}}</span>
</div>
</ion-card-content>
</ion-card>
</ng-template>
</swiper>
到达最后一张幻灯片后,end()
的名称为:
end() {
let index = this.swiper.swiperRef.activeIndex++;
let newEmojis = this.getEmojiSet();
this.initalEmojiMessages.push(newEmojis);
this.swiper.swiperRef.appendSlide(`
<ng-template swiperSlide>
<ion-card class="emoji-card">
<ion-card-content class="internal-card">
<p>hello world ${index}</p>
</ion-card-content>
</ion-card>
</ng-template>
`)
}
这个函数既可以向数组initalEmojiMessages
中添加另一个表情符号,也可以通过this.swiper.swiperRef.appendSlide
添加一张新幻灯片。
这是它实际运行时的样子:
在最后一张幻灯片上:
尝试转到下一张幻灯片:
正如您所看到的,新幻灯片没有锁定到位,并且appendSlide()
方法有效,而添加ngFor
方法无效。
有人经历过这个问题/知道如何在离子工作中使用swiper.js添加幻灯片吗?
1条答案
按热度按时间8dtrkrch1#
我不确定这是否有帮助,但我在next.js中遇到了类似的问题。我发现一个CSS导致了这种异常,并与视图中的幻灯片数量结合在一起。我最终注解掉了所有的CSS,并慢慢地将其重新引入,以找到令人不快的样式。然后它就像一个梦一样工作。不确定这是否会帮助您解决问题,但如果您还没有“t尝试过这个,那么它可能是一个开始的地方。