如何在 Angular 中的 ngx owl 轮播中设置活动幻灯片

Sta*_*ill 1 owl-carousel angular

我正在尝试根据索引将幻灯片设置为活动幻灯片。我试图让课堂变得活跃和集中。下面示例中的 newsId 值来自我正在获取并验证的另一个页面。

<owl-carousel-o [options]="newsOptions" class="slider-service">
    <ng-template carouselSlide [ngClass]="{'active center': news.newsId == newsId}" *ngFor="let news of newsSlides">
        .....
    </ng-template>
</owl-carousel-o>
Run Code Online (Sandbox Code Playgroud)

还有其他方法可以设置活动幻灯片吗?

小智 6

您必须使用 owlCar.to(slideIndex:string) 函数。

设置每张幻灯片的 ID:

<owl-carousel-o [options]="newsOptions" class="slider-service">
    <ng-template carouselSlide *ngFor="let news of newsSlides" [id]="news.newsId">
        .....
    </ng-template>
</owl-carousel-o>
Run Code Online (Sandbox Code Playgroud)

在您的组件中定义 owl carousel 变量并设置活动幻灯片,如下所示

@Component({
  selector: 'app-news',
  templateUrl: './news.component.html',
  styleUrls: ['./news.component.scss']
})
export class NewsComponent implements OnInit {

  @Input() newsId: string;
  @ViewChild('owlCar', { static: false }) owlCar: any;

  ngOnInit(): void {
    this.owlCar.to(this.newsId);
  }
}
Run Code Online (Sandbox Code Playgroud)

请记住 newsId 和 news.id 必须是字符串。