使用Angular附加下一组结果

时间:2015-11-30 11:24:34

标签: angularjs

我有通过jsonp从外部API获取的数据。

我已经要求前10个结果。这回来是一个对象。

我有一个新的调用,用一个按钮从它的缓存中获取接下来的10个结果,但它只是覆盖了第一组返回的数据。

如何让Angular将每个后续数据追加或推送到底部?

$scope.getEanApi = function(){
        devaFactory.searchRequest()
            .then(function(data){
            $scope.hotels = data.HotelListResponse.HotelList;           
            }).finally(function(){
        });
        return;
    };
    $scope.getEanApi();

    $scope.moreResults = function(){
        devaFactory.moreResults()
            .then(function(data){
            $scope.hotels = data.HotelListResponse.HotelList;
            angular.extend($scope.hotels,$scope.hotels);                  
            }).finally(function(){
        });
        return;
    };

1 个答案:

答案 0 :(得分:0)

如果它是一个数组,请执行以下操作:

$scope.data = $scope.data.concat(newData);

然而,它更改了包含合并数组的数组引用,因此如果您使用了ng-repeat,那么它将重绘整个数组。如果您正在使用任何动画,那么您可能只想重新绘制新元素,以便通过迭代手动追加新的数组数据,如下所示。

for(var j=0;j<newData.length;j++) {
     $scope.data.push(newData[j]);
}

如果它的对象那么

angular.extend($scope.data,newData);