Filter 基于Angular2中两个或多个属性值的管道过滤器

Filter 基于Angular2中两个或多个属性值的管道过滤器,filter,angular,Filter,Angular,如果我有一个对象数组,比如 [ {name: 'aaa', type: 'A'}, {name: 'aaa', type: 'B'}, .... ] 如何在ngFor表达式中使用管道创建过滤器,如 *ngFor='let obj of array | filter:name[nameValue]:type[typeValue] 这里,name[nameValue]name是一个属性,nameValue是它的值。 仅同时显示与name属性中的nameValue和type属

如果我有一个对象数组,比如

 [
   {name: 'aaa', type: 'A'},
   {name: 'aaa', type: 'B'},
   ....
 ]
如何在ngFor表达式中使用管道创建过滤器,如

*ngFor='let obj of array | filter:name[nameValue]:type[typeValue]
这里,
name[nameValue]
name是一个属性,
nameValue
是它的值。 仅同时显示与name属性中的nameValue和type属性中的typeValue匹配的对象


我想要一个更通用的过滤器,它接受任何
属性[propertyValue]
,并可以相应地过滤输出。

这是一种可以做到的方法。只需为过滤管道提供一个字段数组,其中包含要用于过滤的值

管道:

@管道({
名称:'过滤器',
纯:假
})
导出类FilterPipe实现PipeTransform{
转换(值:工作示例的数组)


这是一种方法,只需给过滤管道一个字段数组,其中包含要过滤的值

管道:

@管道({
名称:'过滤器',
纯:假
})
导出类FilterPipe实现PipeTransform{
转换(值:工作示例的数组)


使用它是很好的文档使用它是很好的文档使用它只是一个注释:在RC.1中,API已更改为
transform(value,arg1,arg2,arg3)
而不是
transform(value,args:any[])
(单个arg而不是数组)只是一个注释:在RC.1中,API已更改为
transform(value,arg1,arg2,arg3)
而不是
转换(值,参数:any[])
(单个参数而不是数组)