AlexanderBelov
@AlexanderBelov
Frontend developer

Где потерялся PipeTransform is not defined / Angular 2?

Пытаюсь запилить поисковой фильтр в 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) почему-то, но у компилятора к нему претензий нет, вроде.
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы