2014-03-02 2 views
0

안녕하세요 좋은 스마트 pepoles.ExtJS - 사양

저는 ExtJS와 관련된 몇 가지 기본적인 질문이 있습니다. 나는 Ext.data.store 개체를 사용하여되면서

  1. , 나는이 같은 그래서 시도 등 프록시, 독자, 작가 등의 지원 목적을 가지고 있음을 발견하고 다시 시도했지만 할 수 없었다 이 물체의 사용과 물체의 차이점은 무엇인지에 대한 만족스러운 설명을하십시오.

  2. 위의 질문은 나를 다음과 같이 안내합니다. 필자는 ExtJS 프레임 워크에서 올바르게 사용하는 방법을 깨닫기 위해 고군분투하고 며칠을 보내고 있습니다. 제 말은 어디서나 좋은 설명서를 찾을 수 없으며, 알려진 IDE 용 플러그인은 사용하기가 쉽지 않습니다. 누구나이 프레임 워크를 사용하는 방법에 대한 좋은 제안이 있습니까? 좋은 예를 어디에서 볼 수 있습니까?

더 구체적으로 말하자면, 2 개의 패널이 연결된 윈도우가있는 간단한 응용 프로그램을 작성하려고합니다. 하나의 PANEL에 페이징 propery가있는 GRID가 포함되어 있습니다. 기타 PANEL에는 2 개의 텍스트 필드와 몇 개의 버튼이 있습니다.

이러한 구성 요소를 적절한 순서로 정렬해야합니다.

매우 쉽게 정의 할 수 있습니다.

구현하기가 매우 어렵습니다. 더 나은 일

희망 :(

감사

답변

2

첫째, 이들 각각의 문서를 읽어 보시기 바랍니다 것입니다! - 그들은 매우 명확하게 각 그들이 연주한다는 것입니다 및 역할을하는지 설명 .

그러나 대답을-단순화를 통해, 여기에 매우 높은 수준의 설명이다에 http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.data.writer.Writer.

Ext.data.Model : 모델은 응용 프로그램이 알게되고 잠재적으로 상호 작용할 개체를 나타냅니다. 기본적으로 지속성은 애플리케이션의 라이프 사이클에 달려 있습니다. 응용 프로그램을 넘어서 계속 사용해야하는 경우 프록시를 연결해야합니다 (자세한 내용은 나중에 설명).

Ext.data.Store : 매장은 믿기 어려울 정도로 강력하지만, 결국은 모델 인스턴스의 캐시 일뿐입니다.

Ext.data.proxy.Proxy : 프록시는 Ext.data. * 패키지의 지속성 레벨입니다. 프록시를 사용하면 AJAX, LocalStorage 또는 Model 인스턴스를 메모리에서 완전히 처리하여 서버에서 Model 인스턴스를로드 할 수 있습니다. 기본적으로 모든 프록시는 Model 인스턴스와의 모든 상호 작용을 생성, 읽기, 업데이트 및 삭제 작업으로 끓여 "CRUD"구현을 제공합니다. 다양한 프록시를 선택할 수 있지만 모두 똑같은 작업을 수행합니다. 즉, Model 인스턴스에 지속성 관리를 제공하십시오.

: 해당 이름에서 알 수 있듯이 Reader는 프록시를 통해 제공된 데이터를 모델 인스턴스로 변환하는 방법에 대한 지침을 제공합니다. 예를 들어 Ext.data.proxy.Ajax를 통해 데이터를로드하는 경우 서버의 응답을 Ext JS가 이해하고 모델 인스턴스로 캐스팅 할 수있는 데이터로 "매핑"할 수 있도록 리더를 구성해야합니다. 즉, 리더는 데이터를 모델로 변환하는 방법에 대한 지침을 제공합니다.

Ext.data.writer.Writer : Writer는 이름에서 알 수 있듯이 프록시가 데이터를 보존하기 전에 조작하기 위해 프록시에서 사용합니다. 예를 들어, AJAX 요청에서 서버로 데이터를 XML로 보내려면 Ext.data.writer.Xml을 사용하여 XML 데이터를 보낼 수 있습니다. 또는 Ext.data.writer.Json을 사용하여 JSON으로 인코딩 된 데이터를 보낼 수 있습니다.

이제 모든 의도와 목적을 위해, 대부분이 상당히 투명합니다. 즉, Ext JS 문서에서 사용 된 데이터 형식과 일치하는 일반적인 CRUD 요청을 작성하는 경우, 수행해야 할 구성이 거의 없습니다. 그러나 서버에서받은 데이터 (예 : Reader의 경우) 또는 데이터를 보내는 방법 (예 : Writer의 경우)과 같이 이국적인 요구 사항이있는 경우 항상 프록시의 하위 클래스를 만들 수 있습니다. 독자 또는 작가가 귀하의 목표를 달성 할 수 있도록합니다. 이 작업을 수행하는 적절한 방법을 찾기 위해 문서를 파헤쳐 야하지만 매우 간단하며 Google 영역에 여러 가지 예제가 떠 다니고 있습니다.

마지막으로, 예제에 대한 질문과 관련하여, 이는 사용자가하려는 일에 분명히 달려 있습니다. 나는 당신이 다루려고하는 특정 사안들에 대해보다 구체화 된 것을 후속 조치 할 것이다.

+0

잘 형성되고 명확한 설명에 감사드립니다! 프록시 내의 "CRUD"구현이 언급 된 경우, 내가 할 수 있다면 다른 것을 물어보고 싶습니다. CRUD의 Read 옵션을 사용하면 기본적으로 url에 대한 요청을하고, '시작'과 '제한'과 같이 get 매개 변수를 보내면 GRID PANEL에서 저장소를 사용할 때 기본 매개 변수를 보내고 구현합니다 페이징. 때로는 이러한 매개 변수가 필요하지 않습니다. 프록시에서 요청을 보내지 않도록하려면 어떻게해야합니까? Thanke Alot !!! – yanivsh

+0

이렇게하려면 매개 변수를 "undefined"로 설정하면됩니다 (예 : pageParam : undefined, startParam : undefined 등). – existdissolve