使用AngularJS中的大型数据集

时间:2012-11-28 15:11:14

标签: javascript angularjs

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

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

问题是:如何在Angular中处理此数据集?我看到的所有例子都很精致,但所有这些例子都适用于小数据数组。

我们集思广益了几个想法,最好的想法是:在启动JS应用程序时下载最新的X注释,然后在现有(客户端)数据集上应用Angular过滤器后搜索或优化列表时拉出匹配的数据从服务器(或匹配数据的子集,如果我们正在分页)并将其与我们已在客户端上的数据合并。这样,客户端上的数据将变得越来越广泛,随后的客户端搜索将越来越精确。

希望这是有道理的。

还有其他想法吗?

感谢。

1 个答案:

答案 0 :(得分:2)

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

如果您将在多个控制器,指令和服务(我认为是这样)中使用这些大量数据,那么将它放在$ rootScope或可能是它自己的服务中可能是个好主意。 $ rootScope的情况是,如果您只是想将其存储为数据并随意访问它。服务的情况是,如果您希望使用可重用的方法从大块数据中查询/添加/删除,您甚至可以让服务处理数据的$ http.get。

我希望有所帮助。