AngularJS - 大型数据集

时间:2013-09-10 11:21:36

标签: javascript angularjs

我一直在考虑将我们当前的管理系统迁移到JS框架一段时间,我今天测试了AngularJS。我真的很喜欢它有多强大。我创建了一个演示应用程序(来源:https://github.com/andyhmltn/portfolio-viewer),其中包含一个“项目”列表,并将它们显示在您可以实时订购/搜索的分页列表中。

我遇到的问题是弄清楚如何用更大的数据集复制这种行为。理想情况下,我希望有一个可排序/可搜索和分页的项目表,这些都是实时的。

关注我的部分是这个表至少会有10,000多条记录。目前,这没有问题,因为它是一个PHP文件,它将查询限制在当前页面并将任何搜索选项附加到最后。上面的演示只有大约15-20个记录。我想知道用如此大量的记录做同样的事情是多么困难,而不是一次将所有记录都拉到一个JSON请求中,因为它会令人难以置信慢。

有没有人有任何想法?

2 个答案:

答案 0 :(得分:4)

我习惯用JavaScript处理大型数据集,我建议你:

  • 使用分页(服务器端或客户端,具体取决于数据的实际数量,请参见下文)
  • 使用Crossfilter.js对您的记录进行分组,并在您的GUI中采用多级架构(每月记录,双击,点击的每月记录等)

我经常使用的指标如下:

rowsAmount x columnsAmount x dataManipulationsPerRow

另外,请考虑处理大型数据集和显示它们是两个非常不同的事实。

答案 1 :(得分:2)

确实在一个请求中拉出这么多行将是一个杀手。幸运的是,Angular有ng-grid component可以进行服务器端分页(在许多其他方面)。指令在给定的链接中提供。