Мгновенный поиск Angular / Algolia - Instant Search не является функцией
Что я использую
- угловатый
- Поиск Алголии / Мгновенный поиск
Чего я пытаюсь достичь
- Чтобы вернуть набор результатов
Установлены
- Я установил Instant Search через npm
Что работает
- Я могу записать массив в консоль
Что не работает
- Я следил за документацией, однако я получаю сообщение об ошибке:
ОШИБКА TypeError: instantsearch не является функцией
Компонент ТС
// Algolia Search
declare var require: any
import * as algoliasearch from 'algoliasearch';
const instantsearch = require('instantsearch.js');
...
constructor
...
testResults(){
var client = algoliasearch("myappid", "myapikey");
var index = client.initIndex('albums');
index.search('p', function(err, content) {
console.log(content.hits);
});
const search = instantsearch({
appId: 'myappid',
apiKey: 'myapikey',
indexName: 'albums',
urlSync: true
});
// initialize hits widget
search.addWidget(
instantsearch.widgets.hits({
container: '#hits'
})
);
search.start();
}
Компонент HTML
<div (click)="testResults()"> Test Results </div>
<div id="hits">
<!-- Hits widget will appear here -->
</div>
Любая помощь здесь будет принята с благодарностью.
1 ответ
Решение
Попробуйте это: импортировать * как instantsearch из 'instantsearch.js'
Рабочий пример: https://gist.github.com/codediodeio/8b8b22844f8fd8a34ff6d6a6e8582468
И вы должны реализовать это в классе обслуживания;)
Документ по Алголии https://community.algolia.com/instantsearch.js/v2/guides/angular-integration.html