ExtJS 4 Set Reader - PullRequest
       13

ExtJS 4 Set Reader

0 голосов
/ 07 февраля 2012

У меня есть JSON, который несколько раз использовался другими частями приложения.Чтобы избежать ненужных вызовов, я хочу получить их, а затем использовать их только там, где это необходимо.

проблема в том, что JSON может содержать разные разделы для разных частей, поэтому мне нужно использовать rootсвойство.

Что мне нужно: - Прокси, который будет его извлекать (Один для всех) - Читатель для каждой части, потому что они используют разные корни - Хранить для разных частей

Прокси:

var myProxy = new Ext.data.proxy.Ajax({
      url: "static/data/myData.json"
});

var operation = new Ext.data.Operation({
      action: "read"
});

myProxy.read(operation);

Некоторая часть:

// try to create custom reader with appropriate root
var reader = new Ext.data.reader.Json({
    root: "table1"
});

// set reader to proxy
myProxy.setReader(reader);

// create store
Ext.create("Ext.data.Store", {
    storeId: "MyStore",
    model: "MyModel",
    autoLoad: true
});

// set proxy to store
Ext.data.StoreManager.lookup("MyStore").setProxy(proxy);

Конечно, это не работает.Как мне это сделать?

1 Ответ

0 голосов
/ 07 февраля 2012

Было бы лучше использовать выборку AJAX для получения JSON, кэшировать его в некоторой переменной, а затем использовать метод loadData вашего магазина, чтобы заполнить каждый магазин по мере необходимости.loadData позволяет вручную добавлять записи, не переходя на удаленный источник данных.Это даст вам более жесткий контроль без необходимости иметь дело с прокси;только читатели и магазины.

...