Angular 2正确的语法

时间:2017-03-29 11:17:59

标签: angular

我们有一个名为operator的实体与一个名为country的实体有关系。我们想根据国家名称过滤运营商列表我们如何从运营商处写这个过滤器?什么是正确的语法?

html

[(ngModel)]="opFilter.country?.name"

ts

opFilter: any = {  country?.name : '' }; 

1 个答案:

答案 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