在 Angular2 中管理大数据

Managing Big Data in Angular2

我正在学习具有 Sencha ExtJS 框架背景的 Angular2 课程。

我的问题很简单:AngularJS 你如何存储大数据结构并与之交互?在整个过程中,Service 在检索数据时总是很小,并且存储在数组中。

为什么我提到了 ExtJS?因为它提供了类,叫做Store,顾名思义,存储数据和查询数据,具有过滤、排序、映射等功能。

让我们举个例子:

我有世界机场列表,我想在 select 中提供。当然,我将设置注入到提供整个列表的 select 的服务。但是然后:

-我想在用户继续输入时过滤它

-包含数据的数组是一个对象数组,在名称后有其他属性,如国家或 ID

遵循哪种方法?

根据我的评论,这是我的答案。

在 Angular 2 中,我们有 智能组件,它承载逻辑和数据,以及 哑组件,它们是纯视图,没有逻辑,最好是无状态的。

理想情况下,您可以从 API 检索数据并将其传递给您的智能组件,返回整个数据或使用 RxJS 公开流。

使用 RxJS 的示例是:

  • 调用 API 并返回 Observable 和数据
  • 的服务
  • 使用服务数据的智能组件,形式为 Subscription
  • 显示由智能组件(充当容器)下推的数据的一个或多个哑组件

此时,您的数据操作可以驻留在服务中或智能组件中(这取决于您需要转换什么以及如何转换)。 要操作数据,我建议您使用 RxJS,它提供了链接流和 filter、aggregate、map、... 方法的可能性。它是异步的。

如果你可以选择不那么复杂但阻塞的东西(这取决于你的要求),我建议你使用 Lodash,它为集合提供了链接、映射、过滤和聚合数据的方法.