如何在angular2中为两个值传递ngFor的过滤器?
这是我目前使用过滤器代码的地方:
import { Pipe } from "@angular/core";
@Pipe({
name: 'mapFilter',
pure: true
})
export class MapFilter {
transform(items, [searchTerms]) {
return items;
}
}
这是我的HTML
<tr *ngFor="let item of jobs | mapFilter: [searchTerm, county, region, type, markers]" class="animated fadeIn" (click)="viewJob(item)">
正如您所见,我试图将5个值传递到名为:searchTerm,county,region,type,marker的过滤器中。
然后我可以过滤结果。
我不确定如何将这些传递到过滤器中。所以主要是卡在mapFilter管道代码上。
答案 0 :(得分:2)
您可以尝试以下方法:
<tr *ngFor="let item of jobs | mapFilter:searchTerm:county:region:type: markers"
class="animated fadeIn" (click)="viewJob(item)">
以这种方式将它们放入管道类中:
@Pipe({
name: 'mapFilter'
})
export class MapFilter {
transform(items, searchTerms) {
let searchTerm = searchTerms[0];
let county = searchTerms[1];
(...)
return items;
}
}
答案 1 :(得分:0)
我设法让它发挥作用。看起来他们已经改变了管道。它现在需要看起来像这个变换(items,searchTerm1,searchTerm2,SearchTerm3){