Мое поле поиска находится в отдельном компоненте. Нет проблем с отображением имен в списке предложений при поиске, потому что я не показываю их в другом компоненте.
Поиск HTML
<input type="text" placeholder="Search" (keyup)="getSuggestion($event.target.value)">
<div class="suggestion" *ngIf="results.length > 0 && suggest === true">
<div *ngFor="let result of results" class="search-res" (click)="showEmployee(result._id)"> {{ result.name }} </div>
</div>
<div class="suggestion" *ngIf="results.length === 0 && suggest === true">
<div> No results found </div>
</div>
Компонент поиска
getSuggestion(name) {
$('.suggestion').show();
this.searchService
.getSuggestion(name)
.subscribe(
name => this.results = name,
error => alert(error),
);
}
Но как насчет того, чтобы отобразить его в другом компоненте (компоненте списка) в событии change
?
Что нужно добавить в поле ввода в качестве вызова функции? и что я должен поместить в SearchComponent, чтобы результаты отображались в компоненте списка?
Служба поиска
getSuggestion(name:string): Observable<any> {
return this.http
.get(this.serverUrl + 'name/' + name)
.map(this.extractData)
.catch(this.handleError);
}