我有一个表格,里面装满了Array
的元素,比如说phases: Phase[];
。
当我的用户单击我的表格的一行时,他能够通过输入编辑其内容,当任何输入模糊(失去焦点(时,我希望将该特定元素的新信息保存在我们的数组中。
我正在寻找一种干净的方法来做到这一点,这是我到目前为止一直在尝试的方式:
<!-- Table rows -->
<tr *ngFor="let phase of phases ; let i = index" [attr.data-index]="i">
<input value="{{phase.name}}" (blur)="savePhase(phase, i)">
<input value="{{phase.milestone}}" (blur)="savePhase(phase, i)">
</tr>
savePhase(phase, index)
应该在哪里使用新值保存我们的元素。但是在这里我找不到解决方案的地方,在模糊时,我的方法确实被调用了,但phase
的值包含旧的。
我如何让我知道方法:在不传递其新值和名称的情况下要更改哪些特定值(名称、里程碑等(?
如果我执行以下操作:savePhase(phase, index, inputName, inputValue)
我的方法将不干净,维护将是地狱般的。
我认为您正在寻找的是ngModel
<tr *ngFor="let phase of phases ; let i = index" [attr.data-index]="i">
<input [ngModel]="phase.name" (blur)="savePhase(phase, i)">
<input [ngModel]="phase.milestone" (blur)="savePhase(phase, i)">
</tr>