在 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,它为集合提供了链接、映射、过滤和聚合数据的方法.
我正在学习具有 Sencha ExtJS 框架背景的 Angular2 课程。
我的问题很简单:AngularJS 你如何存储大数据结构并与之交互?在整个过程中,Service 在检索数据时总是很小,并且存储在数组中。
为什么我提到了 ExtJS?因为它提供了类,叫做Store,顾名思义,存储数据和查询数据,具有过滤、排序、映射等功能。
让我们举个例子:
我有世界机场列表,我想在 select 中提供。当然,我将设置注入到提供整个列表的 select 的服务。但是然后:
-我想在用户继续输入时过滤它
-包含数据的数组是一个对象数组,在名称后有其他属性,如国家或 ID
遵循哪种方法?
根据我的评论,这是我的答案。
在 Angular 2 中,我们有 智能组件,它承载逻辑和数据,以及 哑组件,它们是纯视图,没有逻辑,最好是无状态的。
理想情况下,您可以从 API 检索数据并将其传递给您的智能组件,返回整个数据或使用 RxJS 公开流。
使用 RxJS 的示例是:
- 调用 API 并返回 Observable 和数据 的服务
- 使用服务数据的智能组件,形式为 Subscription
- 显示由智能组件(充当容器)下推的数据的一个或多个哑组件
此时,您的数据操作可以驻留在服务中或智能组件中(这取决于您需要转换什么以及如何转换)。 要操作数据,我建议您使用 RxJS,它提供了链接流和 filter、aggregate、map、... 方法的可能性。它是异步的。
如果你可以选择不那么复杂但阻塞的东西(这取决于你的要求),我建议你使用 Lodash,它为集合提供了链接、映射、过滤和聚合数据的方法.