Models 은 일반적으로 스토어와 함께 사용되고, 기본적으로 모델인스턴스 컬렉션 입니다. 저장소 설정과 데이터로드는 다음과 같이 수행합니다:

Models are typically used with a Store, which is basically a collection of model instances. Setting up a store and loading its data is done as follows:

Ext.create('Ext.data.Store', {
    model: 'User',
    proxy: {
        type: 'ajax',
        url : 'users.json',
        reader: 'json'
    },
    autoLoad: true
});

이 예에서 우리는 Ajax Proxy를 사용하도록 저장소를 구성하고, 데이터로드 할 수 있는 URL의 이름을 제공하고 판독기는 데이터를 디코딩하는데 사용됩니다.이 경우 서버는 JSON을 반환합니다, 그래서 우리는 응답을 읽을 수 있는 Json Reader 를 설정하는 것입니다. 저장소는 자동으로 users.json URL에서 사용자 모델 인스턴스 집합을 로드합니다. 이 URL은 다음과 같은 JSON 문자열을 반환해야 합니다.

In this example we configured the store to use an Ajax Proxy, providing the name of the URL from which to load data and the Reader used to decode the data. In this case the server is returning JSON, so we have set up a Json Reader to read the response. The store automatically loads a set of User model instances from the users.json URL. This URL should return a JSON string similar to the following:

{
    success: true,
    users: [
        { id: 1, name: 'Ed' },
        { id: 2, name: 'Tommy' }
    ]
}

라이브데모로, 간단한 저장소 예를 참조하세요

For a live demo, see the Simple Store example.

인라인 데이터

Inline Data

저장소는 또한 데이터를 인라인으로 로드할 수 있습니다.  내부적으로,  저장소는 우리가  모델 인스턴스에 데이터로 전달하는 각 객체를 변환하게 합니다:

Stores can also load their data inline. Internally, a Store converts each of the objects we pass in as data into Model instances:

Ext.create('Ext.data.Store', {
    model: 'User',
    data: [
        { firstName: 'Ed',    lastName: 'Spencer' },
        { firstName: 'Tommy', lastName: 'Maintz' },
        { firstName: 'Aaron', lastName: 'Conran' },
        { firstName: 'Jamie', lastName: 'Avins' }
    ]
});

인라인 데이터 예제

Inline Data example

정렬과 그룹화

Sorting and Grouping

저장소는 수행정렬, 필터링과 로컬그룹화, 뿐만 아니라 원격지원 정렬, 필터링과 그룹화를 할 수 있습니다:

Stores are able to perform sorting, filtering, and grouping locally, as well as to support remote sorting, filtering, and grouping:

Ext.create('Ext.data.Store', {
    model: 'User',

    sorters: ['name', 'id'],
    filters: {
        property: 'name',
        value   : 'Ed'
    },
    groupField: 'age',
    groupDir: 'DESC'
});

우리가 만든 저장소에서, 데이터는 먼저 이름, 그 다음, ID로 정렬 됩니다; 마지막으로 그것은 오직 Ed 이름의 사용자를 포함하도록 필터링합니다, 그리고 데이터는 나이에 의해 내림차순으로 그룹화됩니다. 저장소 API를 사용하여, 당신은 정렬, 필터링, 그리고 언제든지 그룹화를 변경할 수 있습니다. 라이브 데모를 들어서, 정렬 그룹화 필터링 저장소의 예제를 참고하십시오.

In the store we have created, the data is sorted first by name, then by id; finally it is filtered to include only users with the name Ed, and the data is grouped by age in descending order. Using the Store API, you can change the sorting, filtering, and grouping at any time. For a live demo, see the Sorting Grouping Filtering Store example.