Reputation: 3393
What I'm using
What I'm trying to achieve
Installed
What's Working
What's Not Working
ERROR TypeError: instantsearch is not a function
Component TS
// 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();
}
Component HTML
<div (click)="testResults()"> Test Results </div>
<div id="hits">
<!-- Hits widget will appear here -->
</div>
Any help here would be greatly appreciated.
Upvotes: 1
Views: 1738
Reputation: 1299
Try this : import * as instantsearch from 'instantsearch.js'
Working example : https://gist.github.com/codediodeio/8b8b22844f8fd8a34ff6d6a6e8582468
And you should implement it in a service class ;)
Algolia doc https://community.algolia.com/instantsearch.js/v2/guides/angular-integration.html
Upvotes: 1