【发布时间】:2017-11-24 12:26:35
【问题描述】:
使用 Angular 4.0.2,我有一个 *ngFor 创建输入元素并通过添加按钮更新对象数组,但我试图弄清楚一旦从该数组中删除项目后如何更新对象的索引.
目前,我的 ngFor 看起来像:
*ngFor = let name of names; let i = index
然后,我的删除按钮有一个(点击)事件:
(click)="removeRow(i, names)"
方法如下:
removeRow(index:number, names:Names[]){
names.splice(index,1);
index--;
}
但是,当我在删除一个对象后去更新数组中的另一个输入元素时,索引不正确。 *ngFor 中的 "let i = index" 似乎没有递减,我显然不能只使用:
(click)="removeRow(i, names); i--"
【问题讨论】:
-
你不需要自己减少索引,如果你从集合中删除一个项目 ngFor 将显示更新的项目和一个新的索引。为什么要将'names'作为参数发送给remove函数,你已经在类中了?
标签: javascript arrays angular ngfor decrement