我尝试获取组件中数据的过滤列表。 鉴于我有这样的事情:
<ng-container *ngIf=”(items | filter:search.value) as result”>
<div *ngFor=”let item of result”>
{{item}}
</div>
</ng-container>
我需要从组件中获取result
。
是的,我可以将{{result_setter(result)}}
添加到ng-container,并在组件中创建带有变量的方法:
filtered_data;
result_setter(data) {
this.filtered_data = data;
}
但是看起来很烂。有人可以帮忙吗? 我发现了这篇文章https://netbasal.com/using-pipe-results-in-angular-templates-430683fa2213,评论中的用户也遇到了这个问题
答案 0 :(得分:1)
管道仅用于显示数据。
如果要过滤值并将其放入组件中,请考虑在查询更改时过滤它们。
<input type="file" [(ngModel)]="search" (input)="filterData">
filterData() {
this.filteredData = this.data.filter(item => /* your filtering */);
}
编辑,您也可以使用管道实例来过滤数据
filterData() {
const pipe = new FilterPipe(); // Consider moving this as a class member
this.filteredData = pipe.transform(this.data, this.search);
}