我想知道 angular 框架可以处理的最大数据是多少。说,我正在使用 angular 和一些图表框架(如 chartjs)显示图表。我想知道浏览器可以正确显示多少数据,速度很慢,或者直到崩溃。
你的问题没有简单的答案,但我会尽量把它弄平并给出一个简单的答案,或者至少要考虑一些简单的事情......
Angular(在运行时),像许多其他框架一样只是 JavaScript,所以让我们将问题简化为“关于加载数据的JavaScript和浏览器的限制”,
JavaScript 没有它可以处理的内存或存储上限,我见过需要 15GB 以上 RAM 的 JavaScript 应用程序,它们也表现得很好。因此,假设数据大小本身不是问题(当然,除非您的应用程序实现不佳、内存泄漏或效率不高)。
在我看来,主要的挑战是显示和操作信息,而不会造成不必要的延迟或反应迟钝。
显示信息 -假设您有一个列表(或表格),其中包含 1,000,000 个可能的礼物,然后您希望显示这些礼物供用户选择。将列表项一个一个地添加到文档中很诱人,但每次添加后都需要浏览器重新绘制(导致延迟或完全无响应直到完成),另一种方法是将元素添加到某个 DOM 元素(用 N 表示)仍然保存在内存中,然后将与列表项对应的所有元素添加到元素 N(仍然,只是内存操作),最后将 N 添加到包含整个列表的文档 - 这将是显示大量的更好的解决方案数据的。
操纵信息——显示确实是不够的。您想移动、拖动、排序和过滤显示的数据。如前所述,直接从 DOM 中删除许多元素是一个坏主意。您应该将容器从文档的 DOM 中移除到内存中,操作其中的数据,然后将容器直接添加回文档。Angular 为你做了这种魔法。(我记得,切换许多元素的 'display:none\block' css 属性具有类似的阻塞效果)。
一个好的做法是实现一个应用程序/页面,只显示人类可以一目了然处理的数据量。其余部分应在应用程序数据层、内存中考虑,并应根据适当的需要或请求加载以显示。
总而言之,只要您提供一种有效过滤显示信息的机制,您就可以处理大量数据。
我希望它有帮助...
进一步阅读:将元素添加到 DOM 的慢速和快速方法
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句