7

以前我用 Angular JS 做了一些小例子。我对 angular $scope存储大型数据集的能力和大型数据集的性能表示怀疑。

示例:在酒店预订系统(如http://www.hotels.com)中,通常酒店 API(Hotelbeds、DOTW...)会为曼谷、迪拜、西班牙...等热门目的地提供数百家酒店。

我的问题是,

  1. 当我们将这么多数据分配给 Angular Scope 时,应用程序可以在不损失性能的情况下工作吗?

  2. Angular Scope 中可以存储的最大数据大小是多少?

4

2 回答 2

9

根据我的经验,当您使用大量 DOM 节点时,每个节点都包含多个 DOM 节点,迟早您的应用程序性能会受到影响:它只会发生在所有 javascript 客户端应用程序上,因为它取决于您的计算机 CPU 和内存。

为了避免这个问题,最好的做法是在视图中处理少量数据,当然,像无限滚动这样的技术很少能帮助达到目的。通常,每次用户进行操作(如滚动、页面更改或过滤)时,您应该在视图中显示几个 dom 节点。

请参阅这篇有趣的文章:AngularJS 虚拟滚动

如果您想检查 angularjs 应用程序的性能,请使用Batarang

于 2013-07-19T09:06:53.663 回答
0

出于性能原因,我建议您将观察者控制在2000人以下。

有几种方法可以计算你有多少,但对于初学者来说最简单的方法是使用Angular Watchers Chrome 扩展

于 2017-09-26T12:42:48.613 回答