Итак, я создаю приложение Ionic 4, используя Algolia для поиска, но я не могу найти нигде, где указано, как я должен загружать новую страницу с результатами поиска после того, как пользователь вводит запрос.
Я использую instantsearch.js и смог получить его, чтобы URL обновлялся, когда пользователь вводит свой запрос, но я не могу его получить, чтобы при нажатии кнопки «Поиск» на html page, загружается новая страница, содержащая текущий запрос и отображающая результаты поиска.
config = {
...environment.algolia,
indexName: 'test',
routing: {
router: historyRouter(),
stateMapping: {
stateToRoute({query, page}) {
return {
query: query,
page: page
};
},
routeToState({query, page}) {
return {
query: query,
page: page
};
}
}
}
}
Это мой конфиг, но я знаю, что он не загружает новую страницу. Может кто-нибудь привести пример такого рода функциональности? Я хочу, чтобы на одной странице была панель мгновенного поиска, которая может принимать пользовательский ввод и отображать его в URL-адресе, а затем, когда нажата кнопка «поиск», может загрузить новую страницу и отправить информацию URL-адреса на новую страницу.
Вот мой поисковый штрих-код:
<ais-instantsearch [config]="config">
<div>
<ais-search-box></ais-search-box>
<ais-hits>
<ng-template let-hits="hits">
<ol class="ais-Hits-list">
<li *ngFor="let hit of hits" class="ais-Hits-item">
<div class="hit-name">
<ais-highlight attribute="title" [hit]="hit"></ais-highlight>
</div>
</li>
</ol>
</ng-template>
</ais-hits>
</div>
</ais-instantsearch>
Опять же, я пытаюсь получить его, чтобы пользователь мог что-то набрать в строке поиска, нажать «поиск», и загрузится новая страница результатов поиска. В настоящее время он просто отображает все данные и затем фильтрует их на основе запроса по мере ввода текста на одной странице.