好吧,假设您的服务器上有一个 API/CGI 执行搜索并返回一个子集(例如通过使用 SQLs 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>