javascript - 在 AngularJS 中处理大型数据集

标签 javascript angularjs

首先:我认为这个问题适用于大多数(如果不是全部)当今具有持久层的 JavaScript MVWTF 框架。

我当前的任务是用 Angular 重写网站的评论管理部分,以加快那些必须批准评论或将评论标记为垃圾邮件的人的工作流程。该网站已经有相当多的评论,而且每天都会有更多评论。

问题是:如何在 Angular 中处理这个数据集?我看到的所有示例都很好,但它们都适用于小数据数组。

我们集思广益了几个想法,最好的一个是:在启动 JS 应用程序时下载最新的 X 评论,然后在对现有(客户端)数据集应用 Angular 过滤器后搜索或细化列表时提取匹配数据从服务器(或匹配数据的子集,如果我们正在分页)并将其与我们在客户端上已有的数据合并。这样客户端的数据就会越来越广泛,后续的客户端搜索也有望越来越精确。

希望这是有道理的。

还有其他想法吗?

谢谢。

最佳答案

您必须小心的最重要的事情是通过在整个应用程序的多个范围内复制大型对象/数组而造成的膨胀。这可以简单地通过将大对象放入 Controller 的 $scope 中,然后将其传递到指令的 $scope (例如 ng-repeat)来引起。在您的应用程序中调查此问题的一个好方法是查看 Angular Batarang

如果您要在多个 Controller 、指令和服务之间使用如此大量的数据(我认为是这样),那么将其放置在 $rootScope 中或者可能是它自己的服务中可能是个好主意。 $rootScope 的情况是,如果您只想将其存储为数据并随心所欲地访问它。服务的情况是,如果您希望有可重用的方法来查询/添加/删除大数据 block ,您甚至可以让该服务也处理数据的 $http.get。

希望对您有所帮助。

关于javascript - 在 AngularJS 中处理大型数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13608257/

相关文章:

javascript - 使用 Ajax 附加到 Jade 中的下拉列表

javascript - 按顺序返回 promise

javascript - ng-href 中的 Angularjs 函数

javascript - 如何在JavaScript中获取计算机的主目录路径?

angularjs - 支持 bower 的 Webpack

javascript - YouTube iframe加载的脚本不会超过Google的页面速度

Javascript 从电子表格中读取数据

javascript - 无法在表中显示正确的数据 -AngularJS

javascript - 单击 Accordion 标题时 JQuery Accordion 内容的偏移

javascript - 在 jQuery 中创建元素后如何执行一些代码?