Как динамически установить URL и корень в extjs

Кто-нибудь может сказать, как динамически установить URL-адрес и корень хранилища в Ext JS?

Я создал магазин, подобный приведенному ниже. Мне нужно обновить корень и динамически установить URL-адрес внутри контроллера.

Ext.define('Test.store.TestStore', {
  extend: 'Ext.data.Store',
  model: 'Test.model.TestModel',
  storeId: 'testStore',
  proxy: {
    type: 'jsonp',
    reader: {
      type: 'json',
      root: 'responseXML'
    }
  }
});

Спасибо


person mohan    schedule 20.05.2013    source источник


Ответы (1)


Вы можете установить URL-адрес прокси-сервера позже в своем коде следующим образом:

store.getProxy().url = '/your/url';

После этого вы можете просто сделать обычное:

store.load();

или пусть он срабатывает автоматически любой привязкой.

В любом месте вашего кода вы можете получить хранилище через StoreManager:

var store = Ext.data.StoreManager.lookup('myStore');
person smhg    schedule 20.05.2013
comment
Я не проверял это, но в этом случае вы, вероятно, можете сделать store.getProxy().getReader().root = '/your/root';. - person smhg; 20.05.2013
comment
Я действительно не знаю, реструктурировал ли Sencha свойства своих компонентов, чтобы использовать магические геттеры и сеттеры, но если да, то сделать это еще чище: store.getProxy().setUrl('/your/url'); То же самое, конечно, применимо к корневому свойству читалки. - person smhg; 20.05.2013
comment
Спасибо за своевременную помощь - person mohan; 20.05.2013