Я отображаю список объектов в цикле ngFor, и я хотел бы отфильтровать этот список с помощью канала.
Мои исследования привели меня к этому:
фильтр-by.pipe.ts:
import { Pipe, PipeTransform } from '@angular/core';
import { UserLink } from '../_models/user-link';
@Pipe({
name: 'filterBy'
})
export class FilterByPipe implements PipeTransform {
transform(items: User[], isActive: boolean): any {
if (!items) { return []; }
return items.filter(x => x.isActive === isActive);
}
}
в my.component.html:
<tr *ngFor="let item of items$|async|filterBy: {isActive: false}">
<td>{{item.firstname}}</td>
<td>{{item.lastname}}</td>
<td>{{item.age}}</td>
</tr>
Но результат не тот, который я ожидаю: мой массив пуст.
Что мне не хватает, чтобы заставить его работать?
Я попробовал свое решение в этом стеке (https://stackblitz.com/edit/angular-46atle)), и оно работает. Но я все еще не могу заставить его работать в моем проекте. Я проверил свойства моего объекта и остальной части кода, но я не могу не вижу, где моя ошибка
[EDIT]
Проблема решена! Между объектом, по которому я фильтровал объект, и объектом, по которому, как мне казалось, я фильтровал, отсутствовал отбор!
Ошибка новичка!
Спасибо за ваше участие!