我的模板遍历组并呈现一些嵌套元素,列出了e.t.c。:
<ul>
<li *ngFor="let group of groups">
...
<ul class="list_devices">
<li class="row list_devices_header" *ngIf="getNumberOfDevicesInGroup(group.id) > 0">
...
</li>
<li class="row" *ngFor="let item of devices | matchesGroup:group.id">
...
</li>
</ul>
</li>
</ul>
问题是,当我从数组中删除一个组时:
delete this.groups[index]
渲染的布局仍然存在并且抛出了错误:
DeviceListComponent.html:122 ERROR TypeError: Cannot read property 'id' of undefined
用于嵌套指令,它使用已删除的对象。
也许我做错了。 我想删除一个组并让所有嵌套元素都消失。 我怎么能以正确的方式做到这一点?
谢谢
答案 0 :(得分:2)
而不是delete this.groups[index]
,您可以使用splice
试试这个this.groups.splice(index, 1)
对于差异,请检查此问题 Deleting array elements in JavaScript - delete vs splice