0

は次のようになりこの戻りひとつひとつのデータだけでなく、入力した1

.component('searchbox',{ 
    restrict: 'E', 
    templateUrl: '/common/searchbox/searchbox.template.html', 
    bindings: { 
     text: '<' 
    }, 
    controller: 'SearchBoxController', 
    controllerAs: 'vm' 
}); 

response.data

[{"_id":"57bc46dafd7aac680c908072","name":"a","price":3}, 
{"_id":"57bc46dcfd7aac680c908073","name":"b","price":4}, 
{"_id":"57bc46f9207a745c2494182c","name":"c","price":5}, 
{"_id":"57bc4771207a745c2494182d","name":"d","price":6}] 

これは単に、検索ボックスに入力されたものだけでなく、データ内のすべてのオブジェクトを表示することに変わりました。 'a'とタイプしたときと同じように、ドロップダウンですべて 'a、b、c、d'を返します。 私は間違っていましたか?

答えて

2

サービスでフィルタリングを行っていないため、API/allcoachesを取得しています。キー入力された値をサービスに渡し、フィルタリングされた結果を取得するか、コントローラでフィルタリングを実行します。

コントローラでメモリ内フィルタリングを実行している場合は、毎回そのサービスにヒットする必要はありません。すべてのコーチを(このメソッドの外で)一度取得してから、このメソッドで$フィルタを実行できます。

しかし、私はあなたのAPIでフィルタリングを行い、フィルタリングされたリストを返すことをお勧めします。

この場合も、クライアント側またはAPI内でのフィルタリングの決定は、お客様のビジネスシナリオによって異なります。あなたのデータベースにコーチが多すぎる場合は、apiでフィルタリングしてください。データ量が少ない場合は、apiを押してすべてのコーチを取得し、そのリストをビューモデルのプロパティの1つに保存し、そのメモリリストからフィルタを適用します。

+0

トンネルの光に感謝します!私は今サービスでフィルタを使用してそれを行うことができます。もう一つの問題が発生します。私がドロップダウンボックスから選択すると、その個々のulのオブジェクトから検索が行われていることが分かりました。私はstackoverflowのどこかでこの問題に遭遇したと思う。 –

+0

私は助けてくれてうれしい.. – Developer

関連する問題