Мое намерение состоит в том, чтобы изменять ширину индикатора выполнения с каждым слайдом.В настоящее время я использую индикатор выполнения, предоставленный bootstrap.Пока что я вызываю событие в HTML с каждым слайдом.Это событие извлекает эту информацию о слайде:
Console:
{prev: "ngb-slide-0", current: "ngb-slide-1", direction: "left"}
Индикатор выполнения извлекает информацию о ширине из currentSlide (app.component.ts), которая отлично работает:
<div class="progress">
<div class="progress-bar" role="progressbar" [style.width.%]="currentSlide"></div>
</div>
Прогресс машинописи до сих пор:
export class AppComponent {
public currentSlide: number;
images = ['assets/images/image1.jpg', 'assets/images/image2.jpg', 'assets/images/image3.jpg'];
changeProgress(slide: any): void {
console.log(slide);
}
}
Мой путь решения в словах:
if current: ngb-slide-0 then currentSlide = 33,33
if current: ngb-slide-1 then currentSlide = 66,66
if current: ngb-slide-2 then currentSlide = 100
Как преобразовать эти слова в код?
Заранее спасибо, Тим
Остальная часть HTML (Пример слайдера):
<div class="container">
<div class="row">
<div class="col-12">
<ngb-carousel *ngIf="images" (slide)="changeProgress($event)">
<ng-template ngbSlide>
<img [src]="images[0]" alt="First slide">
</ng-template>
<ng-template ngbSlide>
<img [src]="images[1]" alt="Second slide">
</ng-template>
<ng-template ngbSlide>
<img [src]="images[2]" alt="Third slide">
</ng-template>
</ngb-carousel>
</div>
</div>
</div>