我们有一个名为operator
的实体与一个名为country
的实体有关系。我们想根据国家名称过滤运营商列表我们如何从运营商处写这个过滤器?什么是正确的语法?
html :
[(ngModel)]="opFilter.country?.name"
ts :
opFilter: any = { country?.name : '' };
答案 0 :(得分:0)
您想要实现的目标可以使用简单的pipe
。
@Pipe({ name: 'countryFilter' })
export class CountryFilterPipe implements PipeTransform {
transform(operators: Operator[], countryName) {
return operators.filter(operator => operator.country === countryName);
}
}
并将其绑定在您的模板中,如下所示:
<h2 *ngFor="let op of operators | countryFilter: country">{{op.name}}</h2>
其中country
是包含您要过滤的国家/地区名称的属性。
这是一个完整的演示: https://plnkr.co/edit/GTP6P0PCDudH3NmWkkJf?p=preview