Angular 2 с Laravel в качестве бэкенда - PullRequest
0 голосов
/ 08 апреля 2020

Очень плохо знаком с angular (и с laravel), поэтому, пожалуйста, потерпите меня.

Моя цель - создать поле поиска на глобальной навигационной панели и отобразить результаты поиска на странице поиска. Просто, я думаю.

У меня есть функция onSubmit на моем navbar.ts, отправляющая входные данные поиска через службу в виде запроса к серверу. Все кажется успешным в бэкэнде, и я собираю и подписываюсь на ответ с возвращенными данными, идущими в отдельную функцию handleResponse, все еще в navbar.ts:

handleResponse(data) { 
    this._InteractionService.sendMessage(data); 
this.Router.navigateByUrl('/search-page');
}

Вот _InteractionService:

private _searchResults = new Subject(); 
searchResultsOb$ = this._searchResults.asObservable(); 

sendMessage(message: string) { 

   this._searchResults.next(message); 

}

И, наконец, вот получатель, компонент поисковой страницы:

    ngOnInit() {
this._InteractionService.searchResultsOb$.subscribe(
  message => this.handleSearch(message)
)}


handleSearch(search) {
if (search[1][0] === undefined) {
  this.searchResult = 'Não existem artistas com esse nome.'
} else {
this.searchResult = search[1][0].nome;
}

Если я нахожусь на URL поисковой страницы, я могу заставить его работать нормально. Но если я нахожусь на домашней странице, странице входа или любом другом компоненте, запрос не отобразит html через свойство searchResult. Я могу получить это к console.log просто отлично, хотя.

Что я делаю не так, ребята? Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...