javascript - 使用 PHP 和 AngularJS 加载更多评论

标签 javascript php angularjs

我有一个评论表和一个评论回复表,目前使用 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/

相关文章:

javascript - Mootools 设置单选按钮已选中

php - 我的服务器上没有 cron 作业。在没有用户输入的情况下发送电子邮件的替代方法是什么?

javascript - 在 AngularJS 指令中实现继承

javascript - 使用 $q 时, Angular promise 中的 catch 和 finally 函数不起作用,但标准 Promise 确实有效 - 我缺少什么?

javascript - 如何使用 D3.CSV 获取值

javascript - 在 javascript 中为表创建自定义库

javascript - 如何在 MVC3 中将鼠标悬停在文本上时显示部分 View ?

php - 获取laravel根目录中文件的相对路径

javascript - 我如何在电子商务表格上要求最低数量?

php - 在 codeigniter 中从关系数据库中获取数据