2012-05-02 5 views
0

Extjs4에서 중첩 된 모델과 비슷한 중첩 된 저장소를 사용할 수 있는지 궁금합니다. 나는 똑같은 모델을 사용하는 10 개의 드롭 다운과 10 개의 그리드가 있기 때문에 이것을 생각하고있다. 따라서 나는 드롭 다운 10 점포와 그리드 10 점포를 가지고있다.Extjs4의 중첩 된 저장소

10 드롭 다운 저장소 중 2 드롭 다운은 서버에서 데이터를 검색하기 위해 아약스 호출을 만들고 다른 저장소는 2 이상의 응답 데이터를 사용하고 응답을 사용하여 독립 저장소를로드합니다. 그리드에도 이와 유사하게 적용됩니다.

이렇게 올바른 방법입니다.? 동일한 페이지에 여러 상점 (약 20 : O)을 갖는 단점이 있습니다.

친절히 제안합니다. :)

작은 업데이트 내 질문에 정정되지 않습니다. 동일한 모델을 사용 중이므로 중첩 된 저장소로 언급하지 않습니다. Extjs4에서 우리는 하나의 ABCModel.js를 가질 수 있으며 모델을 종료하는 많은 구성 요소를 정의 할 수 있습니다. 따라서 다시 질문을 해결하기 위해 10 개의 상점 (즉, 10 개의 .js 파일)과 10 개의 그리드 (상점의 10.js 파일)가 있습니다. 이것이 올바른 접근 방식입니까 아니면 단일 .js 파일로 모든 것을 푸시 할 수 있습니까?

감사 Punith

답변

0

정말 "중첩"아니에요 저장 ... 그들은 같은 모델을 사용하고 있다는 사실은 중첩과는 아무 상관이 없습니다.

페이지의 매장 수에 대해 걱정할 필요가 없습니다. 예를 들어 그리드 수에 대해 걱정할 것입니다. 귀하의 경우에있는 상점은 데이터에 대한 배열 역할을 수행합니다.

서버에서 두 개 (또는 네 개의) 저장소를로드 한 다음 다른 컨트롤에 대한 로컬 복사본을 만듭니다. 서로 다른 데이터 집합을 표시하는 경우 서로 다른 컨트롤에 대해 동일한 저장소 개체를 사용할 수 없습니다. 하나의 저장소를 필터링하고 다른 저장소 개체에 결과의 복제본을 만드는 것이 필요합니다. 기본적으로 로컬 저장소에 하나 또는 두 개의 필드 만 있으면되므로 간단한 모델 ([id, name] 또는 이와 비슷한 이름)을 만들 수 있습니다.

+0

동일한 모델을 사용하기 때문에 중첩 된 저장소로 언급하지 않았습니다. Extjs4에서 우리는 하나의 ABCModel.js를 가질 수 있으며 모델을 종료하는 많은 구성 요소를 정의 할 수 있습니다. 따라서 다시 질문을 해결하기 위해 10 개의 상점 (즉, 10 개의 .js 파일)과 10 개의 그리드 (상점의 10.js 파일)가 있습니다. 이것이 올바른 접근 방식입니까 아니면 단일 .js 파일로 모든 것을 푸시 할 수 있습니까? –

+0

올바른 접근 방법입니다. – sha

+0

감사합니다 샤, 나는 여기에 혼란 스러움을당하는 사람이었습니다. 이 제안에 대해 "한 저장소를 필터링하고 다른 저장소 개체에서 결과의 복제본을 만드는 것입니다." 네, 정확히 똑같이하고 있습니다. 저장소 A의 응답에서 저장소 B의 루트 및 loadData()를 기반으로 데이터를 추출합니다. 감사합니다 Punith –