qq_花开花谢_0
基本上,您可以编写一个管道,然后在*ngFor指令。在你的组成部分中:filterargs = {title: 'hello'};items = [{title: 'hello world'}, {title: 'hello kitty'}, {title: 'foo bar'}];在模板中,可以将字符串、数字或对象传递给管道以用于筛选:<li *ngFor="let item of items | myfilter:filterargs">在你的烟斗里:import { Pipe, PipeTransform } from '@angular/core';@Pipe({
name: 'myfilter',
pure: false})export class MyFilterPipe implements PipeTransform {
transform(items: any[], filter: Object): any {
if (!items || !filter) {
return items;
}
// filter items array, items which match and return true will be
// kept, false will be filtered out
return items.filter(item => item.title.indexOf(filter.title) !== -1);
}}记得把你的烟斗登记在app.module.ts;您不再需要在您的@Componentimport { MyFilterPipe } from './shared/pipes/my-filter.pipe';@NgModule({
imports: [
..
],
declarations: [
MyFilterPipe,
],
providers: [
..
],
bootstrap: [AppComponent]})export class AppModule { }这是一个柱塞它演示了使用自定义过滤管和内置片管来限制结果。请注意(正如几位评论员所指出的)有一个原因为什么没有内置的过滤管道的角度。