サーバー上に検索を実行してサブセットを返す API/CGI があると仮定すると (たとえば、SQL を使用してlimit start,number
)、これを達成するのはそれほど複雑ではありません。新しいクエリを開始するときはthoughts
、空の配列に設定してから、最初の API 呼び出しを行います (例: 10 個の結果を返す)。次に、次の API 呼び出しを行うためのボタンまたはその他のメカニズムを使用して、結果 11-20 を返すことができます。$http コールバック関数では、サーバーから返されたデータを常に配列に追加するだけで、新しいデータが最後に追加されます。したがって、次のようなものを考えてみてください(これは実際にテストされたコードではなく、この回答のために書き留めただけです):
$scope.getdata = function() {
$http.post('/api/whatever',
{ query: $scope.query, startat: $scope.thoughts.length })
.success(function(response,status,headers,config){
$scope.thoughts.push.apply( $scope.thoughts, reponse.data );
});
$scope.search = function() {
$scope.thoughts = [];
$scope.getdata();
}
Search for: <input ng:model="query">
<button ng:click="search()">Search</button>
<button ng:click="getdata()">Get more results</button>