2016-09-22 4 views
0

저는 Sencha ExtJS 프레임 워크의 배경을 가진 Angular2 코스를 따라 가고 있습니다.Angular2에서 빅 데이터 관리

내 질문은 매우 쉽습니다. AngularJS를 사용하면 큰 데이터 구조를 어떻게 저장하고 상호 작용할 수 있습니까? 서비스가 검색되는 모든 과정에서 데이터는 항상 작아서 배열로 저장되었습니다.

왜 ExtJS를 언급 했습니까? Store to라는 클래스를 제공하기 때문에 이름에서 알 수 있듯이 필터링, 정렬, 매핑 등의 가능성으로 데이터를 저장하고 쿼리합니다. 나는 세계에서 공항의 목록을 가지고 있고 나는 선택에 제공 할

:

는 다음의 예제를 만들어 보자. 물론 전체 목록을 제공하는 select에 주입 된 서비스를 설정합니다. 그러나 :

-I

사용자가

데이터를 포함 -THE 배열을 입력 갈로 필터링 할 것은 국가 또는 ID와 같은 이름 뒤에 다른 특성을 가진 객체의 배열입니다

따라야 할 접근법은 무엇입니까?

+0

안녕하세요, 귀하의 응용 프로그램 상단에있는 스마트 구성 요소에 데이터 (예 : 공항 목록)를 저장하지 못하게하는 요인은 무엇입니까? 이것은 지금까지 보아온 가장 일반적인 디자인입니다. – pietro909

+0

문제가 복잡한 개체 목록에 대한 쿼리 메서드와 관련이있는 경우 가장 유명한 라이브러리 (Lodash는 _map_, _filter_, _fold_, ...) 또는 RxJS가 비동기 적으로 작업 할 수 있습니다. – pietro909

+0

바로 그게 내가 찾고 있었던거야. Angular를 처음 접했을 때 경영진을 이해하는 데 필요한 것이 었습니다.내장 된 것이 없으며 외부 라이브러리에 위임해야합니다. 내가 말한 것처럼 ExtJS는 이미 포함 된 모든 관리 기능을 제공 받았습니다. 스마트 구성 요소는 무엇을 의미합니까? app.component? 그러나 대단히 감사합니다! –

답변

1

내 의견에 따라, 여기 내 대답이다.

코너 (2)에

우리 아니 논리 바람직 무와 로직 및 데이터, 벙어리 순수한 성분들이다을 호스트하는 스마트 부품 있다.

이상적으로는 API에서 데이터를 검색하여 스마트 구성 요소로 전송하면 전체 데이터를 반환하거나 RxJS로 스트림을 노출 할 수 있습니다.

RxJS를 사용하는 예는 다음과 같습니다

  • 서비스 API를 호출하고 Subscription
  • 하나의 형태로 데이터
  • 서비스의 데이터를 소비하는 스마트 구성 요소를 가진 Observable를 반환 (컨테이너 역할을하는) 스마트 컴포넌트에 의해 푸시 다운 된 데이터를 보여주는 멍청한 구성 요소

이 시점에서 데이터 조작은 서비스 또는 스마트 구성 요소에있을 수 있습니다 (변환해야하는 대상과 방법에 따라 다름). 데이터를 조작하려면 RxJS을 사용하면 스트림을 연결하고 filter, aggregate, map, ... 메서드를 사용할 수 있습니다. 비동기식입니다.

복잡하지는 않지만 블로킹 (요구 사항에 따라 다름)을 할 수 있다면 컬렉션의 메소드를 가져 와서 데이터를 체인화, 매핑, 필터링 및 집계하는 방법을 제공하는 것이 좋습니다 (Lodash).

관련 문제