我有一个搜索管道,用于过滤对象列表。然后,我想对匹配该过滤器的所有对象执行操作。我意识到我可以在我的组件中导入管道并重新运行过滤器但是有没有办法自己访问过滤结果?
<input type="text" [(ngModel)]="searchText"/>
<ul>
<li *ngFor="let item of items | mySearch:searchText">{{item.name}}</li>
</ul>
<button (click)="doActionOnMatchingItems(???)">Do Action</button>
答案 0 :(得分:2)
<击>尝试击>
<击>*ngFor="let item of filteredItem = (items | mySearch:searchText)"
然后在任意位置使用filteredItem
击>
与Angular 1不同,我很乐意对过滤结果进行混叠,如下所示。自版本4开始,Angular支持相同的内容。请检查NgForOf
docs here
*ngFor="let item of items | mySearch:searchText as filteredItem"