我有通过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;
};
答案 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);