我有一个评论表和一个评论回复表,目前使用 AngularJS。我有一个用户页面,并加载他/她的个人资料上的所有相关评论和回复。由于我现在只是在本地服务器上进行测试,因此样本量非常小(返回的行数少于 10 行)。但是,为了创建一个可扩展的网站,我想知道我可以在“加载更多评论”和“加载更多回复”等按钮或功能方面做什么。
我是否需要始终加载用户的所有评论?如果用户的个人资料上有 3000 甚至 10000 条评论,并且用户数量超过 10000 个怎么办?加载个人资料页面是否需要很长时间?当只有不到 1/5 的评论和回复被首先看到时,加载所有评论和回复似乎是一种浪费。我是否可以查询数据库来加载前 100 行,而不是加载接下来的 100 行或类似的内容?正式的做法是什么(并为此优化了性能?)
此外,如果我总是需要加载所有评论,那么我在 Angular 中“加载更多评论”的一般想法是这样的:
$scope.allcomments = [some array of comments];
$scope.display = $scope.allcomments.slice(0, 5);
$scope.num = 5;
$scope.loadmore = function() {
var x = $scope.num
$scope.num += 5;
$scope.display.push($scope.allcomments.slice(x, $scope.num));
}
但是有没有更好的方法呢?
最佳答案
我假设您将使用 ngRepeat 来显示结果,如果是的话:
在 View 中,即:
<div ng-repeat="comment in allcomments | limitTo:num">{{comment}}</div>
在 Controller 中:
$scope.loadmore = function() {
$scope.num += 5;
}
关于javascript - 使用 PHP 和 AngularJS 加载更多评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30585065/