我有一个数组,它有一个值quantity
。当我单击按钮时,quantity
应该增加1个单位。此刻,我quantity
将数组中所有值增加了一个。以及如何只做一个?
ts:
addItem() {
this.order.list.forEach(o => {
o.quantity = o.quantity + 1;
})
}
的HTML:
<div *ngFor="let item of order.list">
<span> {{item.quantity}}</span>
<button class="my-fab" (click)="addItem()">
<mat-icon>add</mat-icon>
</button>
</div>
尝试使用map
代替forEach
incrementAll() {
this.order.list = this.order.list.map(o => ({...o, quantity: o.quantity + 1}))
}
对于增加特定项目的数量,您必须传递其各自的唯一ID /名称以执行以下条件,其中按钮应位于ngFor
每个项目的循环内:
incrementItem(id: number) {
this.order.list = this.order.list.map(o => o.id === id ? {...o, quantity: o.quantity + 1} : o);
}
这是Stackblitz演示供您参考
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句