0

我有这项服务:

factory('Post', function($resource) {
    return $resource('/api/post.json', {},
        {
            query: {method:'GET', isArray: false}
        }
    );
})

我有这个控制器:

function PostsCtrl($scope, Post) {
    // init
    $scope.page = 0;
    $scope.page_has_next = true;

    $scope.loadMore = function() {
        if($scope.page_has_next) {
            $scope.posts = Post.query({page: ++$scope.page},
                function(data) {
                    $scope.page_has_next = data.has_next;
                }
            );
        }
    }

    $scope.loadMore();
}

这工作得很好,每次loadMore()执行模型都会更新下一页,直到没有更多页面。但是,我想将新的帖子集附加到当前模型而不是替换它,我该怎么做?

4

1 回答 1

4

假设帖子是一个数组:

$scope.posts = $scope.posts.concat(Post.query({page: ++$scope.page})

这仅适用于新帖子与旧帖子没有重复的情况。如果有重复,则必须遍历数组并仅推送新帖子。

于 2012-11-08T08:40:19.597 回答