我有一个名单:names = ['test1', 'test2', 'test3']
我用一个简单的管道显示它们,这个管道搜索所有名称,包括用户输入:
<input type="text" [(ngModel)]="query">
<div *ngFor="let n of names | filterBy: query">{{n}}</div>
在名称旁边,有一个小十字架可以从列表中删除它。
问题在于,当我删除之前搜索过的项目(例如test2)时,过滤器未实现。 更改集合后是否可以刷新过滤器返回的内容?
答案 0 :(得分:1)
是的,在修改后使用slice()
创建数组的副本,然后Angular将识别更改并再次调用管道。 Angular不会检查对象数组的内容是否有变化,只检查对象标识。