angular - 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":""});
推荐阅读
- php - Laravel PHPUNIT 你如何测试查询请求
- ssrs-2008 - SSRS 表达式在行和列中拆分字符串
- php - 附加用户实体时,用户名的 UniqueEntity 不起作用
- bookdown - bookdown 定理中的 Latex 宏
- elasticsearch - ElasticSearch 仅返回文档的特定部分
- javascript - 根据另一个对象数组替换键
- java - 如何从 Java 8 中处理异常的 Bean 列表中过滤 Bean?
- java - Jackson 将对象反序列化为同一个对象
- ssl - 为什么即使 nginx 正在侦听并且防火墙允许 443,我也会在 ssl 上获得连接超时?
- c++ - 如何在 Windows 上获取可用 RAM?