【发布时间】:2020-11-18 22:06:45
【问题描述】:
我的 Angular 应用中有一些数据。
这是数据:
在 app.component.ts 我有:
myarr = [
{
name: 'mark',
address: 'something'
},
{
name: 'paul',
address: 'somethingelse'
},
];
那我有方法了。
deleteFromArray(index) {
delete this.myarr[index];
}
在我的 app.component.html 中,我得到了:
<table>
<tr *ngFor="let data of myarr; let i = index">
<td>{{ data.name }}</td>
<td>{{ data.address }}</td>
<td>
<button (click)="deleteFromArray(i)">Delete</button>
</td>
</tr>
</table>
删除方法的问题是它正在返回:
ERROR TypeError: Cannot read property 'name' of undefined
当我删除一个项目时会发生这种情况。
我该如何解决这个问题?
【问题讨论】:
-
您可以改为使用
splice()来修改数组:this.myarr.splice(index, 1)- 这会删除位置index的一个元素。另一方面,delete用于删除对象的特定属性。例如。delete this.myarr[index].address。这将删除位于index位置的对象的address属性。
标签: angular typescript angular10