2016-07-13 16 views
0

私はangularjsで関数検索を実装しようとしています。 問題は関数が私の関心を返すが、検索を削除すると、関数は集合内のすべてのオブジェクトを返すことである。 機能:この問題は、私のシステムのために良いではありませんページングされることによりAngularJsで関数検索文字列

$scope.$watch('q', function(newValue, oldValue) { 
    if (oldValue != null) { 
    $http.get('/api/services.json?q=' + newValue) 
     .success(function(data) { 
     $scope.services = data; 
     }); 
    }; 
}, true); 

誰でもこの問題を解決できますか?

+2

どうすればよいですか?私はあなたの検索値を持っていない場合、あなたの例のすべてのオブジェクトを返すことが理にかなっていると思います。 おそらく、どこかでnewValue == ""をチェックしたいのですが、結果を制限したいのですか? – Noppey

+0

検索結果はセットに入ったサービスですが、これは大丈夫です!プロジェクト内のページは8×8要素のページ番号が付けられますが、需要を除外すると、関数はページングなしですべての要素を単一ページに返します。この関数は、newValue == ""これはクールで、検索はしません。私が研究したときに、要素を使って研究を返したい、あなたがセットを持っていて、この検索を削除しても、設定されたすべての要素がホームページにある人だけを返すわけではありません。 –

答えて

0

検索時にページネーションを使用しない理由はわかりませんが、検索自体ではなく、あなたの主な問題だと思います。

$ watch内のいくつかの条件を組み合わせて、実際に検索にフィルタをかけたいときを定義してください。

+0

このページングは​​有効になっている要素のページングであり、ページングは​​これらの要素がページを汚染しないことを意味します。つまり、検索がクリアされたときに関数がセットのすべての要素を返さないということです。 –

+0

私はあなたが何を意味しているのかは分かりませんが、$ watch関数でnewValueの値をチェックすることですべての要素を返すことを防ぐことができます。質問が残っている場合は、それが起こった場合に何を表示したいですか? – Noppey