Angular2 Trumpet cannot find the name

I did PIPE as follows:

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;
    }
}

and in my component I added the following code:

import { radioFilterPipe } from './grid.station.pipe';

 pipes: [radioFilter],

but I get a compilation error: error TS2304: Cannot find the name "radioFilter". What am I doing wrong?

+4
source share
1 answer

In accordance with the final version Angular 2 you must include Pipe, Component, Directiveat declarationsthe option NgModuleof metadata.

@NgModule({
     declarations: [MyDirective, MyComponent, radioFilterPipe ],
     providers: [radioFilterPipe], //<-- Include pipe here if you want to use it in class as dependency
     imports: [ AppModule]
})

When Pipename is included in the array, pipesthis must be the class nameradioFilterPipe

import { radioFilterPipe } from './grid.station.pipe';

@Component({
  ..,
  pipes: [radioFilterPipe ],
  ..
})
+9
source

All Articles