我做了一个PIPE如下:
import {Pipe,PipeTransform} from '@angular/core'; import { Radio } from '../../models/radio'; @Pipe({ name: 'radioFilter' }) export class radioFilterPipe implements PipeTransform { transform(value: Radio[],args: string[]): any { let filter = args[0].toLocaleLowerCase(); return filter ? value.filter(radio => radio.station.text.toLocaleLowerCase().indexOf(filter) != -1) : value; } }
import { radioFilterPipe } from './grid.station.pipe'; pipes: [radioFilter],
解决方法
根据Angular 2最终版本,您必须将管道,组件,指令包含在NgModule元数据的声明选项中.
@NgModule({ declarations: [MyDirective,MyComponent,radioFilterPipe ],providers: [radioFilterPipe],//<-- Include pipe here if you want to use it in class as dependency imports: [ AppModule] })
在管道数组中包含管道名称时,它应该是类名radioFilterPipe
import { radioFilterPipe } from './grid.station.pipe'; @Component({ ..,pipes: [radioFilterPipe ],.. })