Я создал канал 'filterBy' и хочу использовать его в своем приложении.Почти все работает хорошо, но я хочу использовать этот канал для 5 свойств, и у меня нет возможности понять, как это сделать.Я постараюсь объяснить вам, что я имею в виду.
Моя труба
import { Injectable, Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filterBy',
pure: false
})
@Injectable()
export class FilterBy implements PipeTransform {
transform( array: Array<any>, filterField: string, filterValue: string, filterField2: string, filterValue2: any): Array<any> {
if (!array) return [];
return array.filter(item => item[filterField] === filterValue);
}
}
products.component.html
<div class="col-sm-1 lessmargins" *ngFor="let product of products | filterBy: 'condition': 'new'"
Он работает хорошо, но у моего продукта есть такие свойства, как состояние, цены и т. Д. Например, я хотел бы показать продукты с «условием»: «новое» и «условием»: «используется», и я не знаю, каксделать это.Я попытался запустить его так: products.component.html
*ngFor="let product of products | filterBy: {'condition': 'new'} && {'condition' : 'used'}"
Но это не работает :( это что-то не так с моей трубкой? Может кто-нибудь объяснить мне?