如何正确设置“过滤管道”,以便在组件输入字段中输入值,另一个组件显示搜索结果

问题描述 投票:0回答:1

如果它在一个组件中,那么一切都很好

<input class="top-input" type="text"
       placeholder="Search..."
       [(ngModel)]="term">

<div class="quiz-item" *ngFor="let test of tests | filter: term" (click)="passTestNotify(test)"> ...

但是我想在一个组件中输入一个值,而在另一个组件中,应该通过我在第一个组件中输入的变量“term”按名称过滤测试。

我不知道该怎么做。我的变种:Service,ViewChild,BehaviorSubject,另一个管道。请帮忙解决..

我的烟斗

@Pipe({
  name: 'filter',
  pure: false
})
export class FilterPipe implements PipeTransform {
  transform(items: any[], term): any {
    console.log('term', term);

    return term
      ? items.filter(item => item.title.indexOf(term) !== -1)
      : items;
  }
}
angular filter pipe
1个回答
0
投票

这是通过BehaviorSubject完成的。好东西)

© www.soinside.com 2019 - 2024. All rights reserved.