我想在不使用任何库的情况下使用 Angular 实现产品轮播功能

I would like to implement Product Carousel functionality using Angular without using any libraries

我想在不使用任何库的情况下使用 Angular 实现 Carousel 功能。并使其响应

我需要像这样,最初应该显示前三项。然后,如果我点击Next,那么剩下的数据项应该会一个一个的显示出来,同理,如果我点击Previous,那么应该会显示之前的数据项 这是我在 stackblitz 中的代码 stackblitz code

Html:

<div class="data-row">
  <div class="data-list show-in-row">
    <ng-container
      *ngFor="let item of products; let index = index; let last = last"
    >
      <div class="data-container">
        <div>{{ item.id }}></div>
        <div>{{ item.price }}></div>
      </div>
    </ng-container>
  </div>
</div>
<div class="next" title="Next" (click)="next()">Next</div>


TS:

 previous() {}

  next() {
    this.products.splice(0, 3);
  }

这个 setShownData() 函数根据当前迭代从我们的完整数组中获取六个项目:


setShownData(){
    this.products = this.testData.slice(this.iTestData6, (this.iTestData+1)6);
}

上一个和下一个按钮点击事件如下


previous() {
    if(this.iTestData != 0) {
      this.iTestData = this.iTestData - 1;
      this.setShownData();
    }
}

next() {
    if( ((this.iTestData+1) * 6) < this.testData.length){
      this.iTestData = this.iTestData + 1;
      this.setShownData();
    }
}