ngModel 在角度的 for 循环中不起作用



我正在开发一个应用程序,我正在尝试在 for 循环中执行 for 循环,for 循环将有一个输入字段,当我编辑其中一个输入字段时,它将更新数组中的值,但我的问题是它更新整个值而不是索引中的值, 这是数组

newSatas=[{"name":"","freeKG":"","CPMPK":""},{"name":"","freeKG":"","CPMPK":""}{"name":"","freeKG":"","CPMPK":""}]

这是 for 循环

<div *ngFor="let newSata of newSatas; let i=index; trackBy:trackByIndex;">
<label>Delivery Name 
<input type="text" [(ngModel)]="newSatas[i].name" name="name[{{i}}]" class="form-control" placeholder="Site Name">
</label>
<label>Price Per KiloMeter Per Kg
<input type="text" [(ngModel)]="newSatas[i].CPMPK" name="CPMPK[{{i}}]" class="form-control" placeholder="Price Per KiloMeter Per Kg">
</label>
<label>Free KG
<input type="text" [(ngModel)]="newSatas[i].freeKG" name="freeKG[{{i}}]" class="form-control" placeholder="Free KG">
</label>
</div>

请问我如何只更新索引中的值而不是整个值

你如何创建数组?它很可能是同一个对象。

我相信你会做这样的事情:

sata = {"name":"","freeKG":"","CPMPK":""}
newSatas = [];
for(let i = 0; i < 3; i++) newSatas.push(sata);

每次迭代都需要创建一个新对象

newSatas = [];
for(let i = 0; i < 3; i++) newSatas.push({"name":"","freeKG":"","CPMPK":""});

最新更新