ngBootstrapを使用してオートコンプリート用のAngular 4 Typeaheadを使いたいと思います。リモートデータの取得に使用するサンプルは、httpではなくJsonpを使用しています。この例では、Jsonpをhttpで置き換えるための情報を探しています。私はObservablesにあまり慣れていないので、私はそれらを学び、それらについてよりよく理解しようとしています。ngBootstrapでhttpをAngular 4に入力してください。
私はこのexampleを見てきましたが、それは本当にシンプルかつ多分に見える(?)簡単にするために...多くを残し?
誰かが正しい方向を指すことができますか、私はngBootstrap Typeaheadでhttpを使って良い例を見つけようとしています。
編集
{
"took": 15,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 9,
"max_score": 4.2456956,
"hits": [
{
"_index": "query-index",
"_type": "autocomplete",
"_id": "AVxqBE-3t2o4jx2g0ntb",
"_score": 4.2456956,
"_source": {
"suggestions": "bruce"
}
},
{
"_index": "query-index",
"_type": "autocomplete",
"_id": "AVxqBE-3t2o4jx2g0ntc",
"_score": 3.064434,
"_source": {
"suggestions": "bruce wayne"
}
},
{
"_index": "query-index",
"_type": "autocomplete",
"_id": "AVxqBE-3t2o4jx2g0ntd",
"_score": 3.064434,
"_source": {
"suggestions": "bruce willis"
}
},
編集2
export class AutocompleteComponent {
model: any;
searching = false;
searchFailed = false;
constructor(private autocompleteService: Elasticsearch) {}
//formatMatches = (query: any) => query.hits.hits._source.suggestions || '';
//formatMatches = (query: any) => query.hits.hits || '';
formatMatches = (query: any) => <any>response.json().hits.hits || '';
search = (text$: Observable<string>) =>
//search = (text$: Observable<Suggestion[]>) =>
text$
.debounceTime(300)
.distinctUntilChanged()
//.switchMap(term =>
//Observable.fromPromise(this.autocompleteService.search(term)
.switchMap(term =>
this.autocompleteService.search(term)
.do(() => this.searchFailed = false)
.catch(() => {
this.searchFailed = true;
return Observable.of([]);
}))
.do(() => this.searching = false);
}
私は私が私が動作するようになったと思いますが、私はそれをやった正確にどのようにわからないミリアンペア。私はあなたがここに投稿した例を使用しました! –