1

我有一个名单:names = ['test1', 'test2', 'test3']

我用一个简单的管道将它们显示在一个简单的布局中,该管道搜索包括用户输入在内的所有名称:

<input type="text" [(ngModel)]="query">
<div *ngFor="let n of names | filterBy: query">{{n}}</div>

在名称旁边,有一个小叉可以将其从列表中删除。

问题是当我删除我之前搜索过的项目(例如 test2)时,过滤器没有实现。更改集合后是否可以刷新过滤器返回的内容?

4

1 回答 1

1

是的,在修改后使用创建数组的副本slice(),然后 Angular 将识别更改并再次调用管道。Angular 不检查对象数组的内容是否有变化,只检查对象身份。

于 2017-05-11T07:09:43.723 回答