Пытаюсь запилить поисковой фильтр в Angular2 приложении.
ts код:
import { Component } from '@angular/core';
import { Pipe,PipeTransform } from '@angular/core';
@Pipe({
name: 'searchFilter'
})
export class SearchFilter implements PipeTransform {
transform(items: any[], criteria: any): any {
return items.filter(item => {
for (let key in item ) {
if((""+item[key]).includes(criteria)){
return true;
}
}
return false;
});
}
}
@Component({
selector: 'releases-component',
templateUrl: './app/releases/releases.component.html',
styleUrls: ['./app/releases/releases.component.css']
})
export class ReleasesComponent {
this.releases;
}
html код:
<div class="menu">
<div class="search">
<input type="text" placeholder="Search for places of interest here">
</div>
</div>
<div class="resultsOutlet">
<ul>
<li *ngFor="let place of (places | searchFilter: search.value )">(...)</li>
</ul>
</div>
Получаю ошибку
PipeTransform is not defined. Не могу понять, почему.
В компонент PipeTransform импортировал, в модуль тоже:
@NgModule({
imports: [ BrowserModule, HttpModule, routing],
declarations: [ AppComponent,
HomeComponent,
PlacesComponent,
Pipe,
PipeTransform],
bootstrap: [ AppComponent ]
})
Правда, Pipe выделяется другим цветом (в Sublime Text 3) почему-то, но у компилятора к нему претензий нет, вроде.