我有两个列表:devices
和groups
设备具有group_id
属性
在模板中,我有以下内容:
<li *ngFor="let group of groups">
<h3>{{group.title}}</h3>
<ul>
<li *ngFor="let item of devices | matchesGroup:group.id">/// </li>
</ul>
</li>
管道matchesGroup
只是按group_id
过滤设备。
transform(items: Array<Device>, group: number): Array<any> {
return items.filter(item => item.group_id === group);
}
所以我有一个设备组列表。在每组中我都有一份发现清单。
当我更改任何设备的group_id
属性时,列表不会更新
包含新group_id
的设备会保留在上一个组中。
为什么?如何使嵌套的* ngFor跟踪设备的更改?
我看到应该发生什么..嵌套的ngFor应该检测device
属性的更改并刷新所有设备列表。 matchGroup
管道会过滤每个列表,只留下与相应组匹配的设备。