我的表格中填充了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)
我的方法不干净,维护会很糟糕。
答案 0 :(得分:1)
我认为你要找的是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>