假设我有以下html:
<li ng-repeat="item in items></li>
每次用户滚动到列表底部时,我都会加载10个以上的项目,并且我希望将它们添加到列表的底部,而不是仅仅替换之前的内容。
有没有办法用AngularJS做到这一点?
答案 0 :(得分:0)
你可以使用javascript的splice()函数:
var firstArr= ["One", "Two", "Tree", "Four"];
var secondArr= ["Five","Six"];
firstArr.splice(firstArr.length+1 , 0, secondArr);
结果:
One,Two,Tree,Four,Five,Six
答案 1 :(得分:0)
我猜这样的事情就是你搜索的内容
function ItemsController($scope,Items){
$scope.onScroll = function(amount){
Items.getMore(amount).then(function(response){
$scope.items.splice($scope.items.length+1 , 0, response.data);
});
}
}
答案 2 :(得分:0)
我最终使用的解决方案是使用本机javascript concat()函数,该函数合并两个数组。我合并了我的范围变量中已有的项目和返回的ajax请求的新项目,这些项目具有附加数据所需的效果,而不是替换它。
所以我的ajax请求看起来像这样:
ajaxCallFetchItems().then(function(items) {
$scope.items = $scope.items.concat(items);
});