我在Angular 7中使用ng-bootstrap插件来创建轮播。 以下是HTML:
<ngb-carousel *ngIf="images" (slide)="onSlide($event)">
<ng-template ngbSlide *ngFor="let image of images">
<img [src]="image" alt="Random slide">
<div class="carousel-caption">
<h3>{{image.id}}</h3>
</div>
</ng-template>
</ngb-carousel>
我的组件中具有onSlide函数,
onSlide(e){
if(/*Some condition*/){
//how to move to next image here?
}
}
如注释中所述,在onSlide函数中,我想根据某些条件移至下一张图像。如何在if条件下移动到下一张图片?
我由ng-bootstarap引用了official documentation。他们在那里提到了next()方法。但是我确定如何使用它。任何帮助将不胜感激。
答案 0 :(得分:1)
从ngb-carousel
获取模板引用,并将其提供给onSlide
函数:
<ngb-carousel #caro *ngIf="images" (slide)="onSlide($event, caro)">
在某些情况下致电caro.next()
:
onSlide(e, caro){
if(/*Some condition*/){
caro.next()
}
}
请注意,由于next()
调用(slide)
事件,它可能陷入无限循环。