【问题标题】:Working with large datasets in AngularJS在 AngularJS 中处理大型数据集
【发布时间】:2012-11-29 05:37:29
【问题描述】:

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

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

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

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

希望这是有道理的。

还有其他想法吗?

谢谢。

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

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

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

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 2017-09-24
      • 2019-12-27
      • 1970-01-01
      • 2022-01-06
      • 2021-01-18
      相关资源
      最近更新 更多