角度の$ httpでサービスに呼び出して検索候補を取得してから検索しても、検索が機能していないということを理解しようとしています。私はAngularJS UI Bootstrap Typeaheadを提案に使用していて、ng-submitで選択時にsearch()
を呼び出しています。私は結果ページ .state上のURL(「検索」でクエリパラメータを表示できるように、私は、クエリを初期化
url: '/search?query',
{、 - (UIルータ状態)
私は自分のルートのためにこれを持っていますコントローラの私のgetSuggestion関数のように
vm.searchTerms = $stateParams.query || '';
その後、私の$ HTTP GETコールサービス
vm.getSuggestions = function(query) {
return coreService.getSuggestions(query, {
params: {query: query}
})
.then(function(es_return){
var suggestions = es_return.hits.hits;
return vm.autocomplete.suggestions = suggestions.map(function(item) {
return item._source.suggestions;
});
});
};
からの提案を取得します
この設定は機能しません。だから私は、ドキュメントを見て、設定が
var config = {
query: vm.searchTerms
}
、その後
vm.getSuggestions = function(query) {
return coreService.getSuggestions(query, config)
.then(function(es_return){
var suggestions = es_return.hits.hits;
return vm.autocomplete.suggestions = suggestions.map(function(item) {
return item._source.suggestions;
});
});
};
、まだ動作しませんでしたそのようなものになるだろうどこそこに設定{}を含めることを試みました。ですから、私は、クエリ{と検索を動作させるには、クエリパラメータでconfig {}をどのように含めるかについてはあまりよく分かりません。違いがあるのかどうかは分かりませんが、フォーム上のng-modelはvm.searchTerms for search()です...すべてをクエリに切り替えるだけですか? {:{クエリ:クエリ}のparams}
私は
$state.go('search', {query: vm.searchTerms});
getSuggestions(クエリ、私のコントローラで私
search()
でこれを持っています)<<あまりクエリのここで... –@PetrAveryanov - 私はちょうどこれを考え出した、params getSuggestion関数にすべきではない - それは私の検索機能にする必要があります。私のgetSuggestions関数でそれを持つ理由はありません - あなたは同意しますか? – user3125823