首页 > 解决方案 > 根据 id 减去数量

问题描述

实际上我想根据 id 减去数量。当用户单击“A”上的按钮时,“A”的数量应该减少 1。这个演示代码stackblitz

HTML

<p *ngFor="let item of arrayOfArray"> 
  Name: {{item.name}} Quantity: {{item.quantity - currentIndex}} <button (click)="addItem(item)">minus Quantity</button>
</p>

零件

public currentIndex = 0;
  arrayOfArray = [
    {id: '1', name: 'A', quantity: '12'}, 
    {id: '2', name: 'B', quantity: '29'},
    {id: '3', name: 'C', quantity: '21'}, 
    {id: '4', name: 'D', quantity: '11'}
  ]

  addItem(val){
    if(val.id){
      this.currentIndex += 1;
    }
  }

标签: javascripthtmlangulartypescriptangular7

解决方案


你这样做是不对的 。检查这个演示代码

对于 html

<p *ngFor="let item of arrayOfArray"> 
  Name: {{item.name}} Quantity: {{item.quantity}}
  <button (click)="minusItem(item)">minus Quantity</button>
</p>
  minusItem(val){
    if(val.id){
      for (let ele of this.arrayOfArray) {
         if (ele.id === val.id){
          ele.quantity--;
          break
        }
      }
    }
  }

推荐阅读