импортировал этот фильтр
// search module
import { Ng2SearchPipeModule } from 'ng2-search-filter';
HTML-код для него
//search
<input class = "form-control" type = "text" name = "search" [(ngModel)] = "searchText" autocomplete = "off" placeholder = "search">
//Assigned filter to table
<tr *ngFor = "let bookName of NameOfBookList | filter:searchText">
Любая помощь будет оценена по достоинству.
Является ли NameOfBookList строковым массивом?
Невозможно воспроизводить! Можете ли вы предоставить Stackblitz? и предоставьте образцы данных NameOfBookList





Добавление Ng2SearchPipeModule ТОЛЬКО к импорту сработало для меня. При добавлении к объявлениям я получил ошибку в инструментах браузера о том, что для Ng2SearchPipeModule было неожиданное определение.
@NgModule({
declarations: [
AppComponent,
ListComponent
],
imports: [
BrowserModule,
FormsModule,
Ng2SearchPipeModule
],
providers: [],
bootstrap: [AppComponent]
})
Затем в моей разметке:
<input [(ngModel)] = "term">
...
<tbody *ngFor = "let d of myList |filter:term">
Эмпирическое правило: импорт модулей никогда идет куда угодно, но не внутрь imports-массива, поскольку declarations предназначен только для компонентов/каналов/директив.
Я столкнулся с той же проблемой. добавьте import Ng2SearchPipeModule в раздел импорта вашего дочернего модуля childmodule.module.ts.
рабочее решение - https://stackoverflow.com/questions/50075567/error-the-pipe-filter-could-not-be-found-while-using-angular4
Вы объявили это в своем модуле
declarations[]?