如何在 angular 中的轮播几秒钟后执行下一步?

how to execute next after few seconds for a carousel in angular?

我正在使用 ng2-carouselamos 轮播以使用以下代码成功显示。

<div
    ng2-carouselamos
    class="slides-wrapper"
    [items]="items"
    [width]="1200"
    [$prev]="prev"
    [$next]="next"
    [$item]="item">
  </div>

  <ng-template #prev>
    <img src="assets/images/left_arrow.png" id="left" />
  </ng-template>
  <ng-template #next>
    <img src="assets/images/right_arrow.png" id="right" />
  </ng-template>
  <ng-template #item let-item let-i="index">
    <div class="items">
      <img src="{{ item.name }}">
    </div>
  </ng-template> 

和 ts 如下:

this.items = [
      { name: 'assets/images/professional_website.jpg' },
      { name: 'assets/images/nature_1200_800.jpg' },
      { name: 'assets/images/nature.jpg' },
      { name: 'assets/images/nature.jpg' },
      { name: 'assets/images/nature.jpg' }, ]

如何在 ts 中调用 [$next]="next" 5 秒后自动执行?

谢谢。

你的问题的根源是每 5 秒调用一个函数(下一次调用)。

answer 中所述:

可以使用setInterval(),参数是一样的

setInterval(function() {
  // method to be executed;
}, 5000);

因此,在您的情况下,在 ngInit 上您可以拥有这种类型的代码:

// we need to access programmatically the scroll function since it isn't exposed 
// by the library
@ViewChild(Ng2Carouselamos)
ng2Carouselamos : Ng2Carouselamos;

setInterval(function() {
  ng2Carouselamos.scroll(true,items);
}, 5000);

但是,由于您使用的库不再维护并且缺少简单的功能(例如自动滚动),我建议您选择更现代的组件库(例如 prime-ng which supports this with continuous=true ) or Ngu-Carousel