Angular 2 - 从对象数组中获取正确的对象

时间:2016-04-18 17:49:16

标签: angular

我从json API获得了Peoples(人物对象)列表,并将其保存在通过this.people访问的变量中。

我需要访问他的枢轴对象age = 15的人,假设只有一个枢轴对象,年龄为15岁。

  1. 我可以使用角度2来访问此特定对象吗?
  2. 如果没有,我是否需要更改我的API才能提出新请求?
  3. 提前致谢!

1 个答案:

答案 0 :(得分:2)

您可以实现自定义管道:

@Pipe({
  name: 'filter'
})
export class FilterPipe {
  transform(val) {
    return val.filter((elt) => elt.age === 15);
  }
}

并以这种方式使用它:

{{people | filter}}

不要忘记将管道添加到要使用它的组件的pipes属性中:

@Component({
  (...)
  pipes: [ FilterPipe ]
})

您可以使用参数使此管道更通用:

@Pipe({
  name: 'filter'
})
export class FilterPipe {
  transform(val, params) {
    var field = params[0];
    var fieldValue = params[1];
    return val.filter((elt) => elt[field] === fieldValue);
  }
}

并以这种方式使用它:

{{people | filter:age:15}}