2012-05-18 6 views
-1

Я хотел бы объявить глобальную переменную, которая принимает значение из DataStore.Объявление глобальной переменной из DataStore

var myStore = new Ext.data.Store({ 
     id: 'ID_myStore', 
     proxy: new Ext.data.HttpProxy({ 
       url: 'get.php',  
       method: 'POST' 
      }), 
     baseParams:{task: "LIST"}, 
     reader: new Ext.data.JsonReader({ 
        root: 'results', 
        totalProperty: 'total', 
        id: 'id' 
       },[ 
        {name: 'Class', type: 'string', mapping: 'class'} 
       ]) 
    }); 

     var BestClass = myStore.getAt(0).get('Class'); 

ответ

1

Ooo проблема с асинхронным случаем.

Вам необходимо прослушать обратный вызов, а затем выполнить его.

var myStore = new Ext.dataStore({...... 
}); 
var bestClass; 
myStore.on('load',function(store,record){ 
bestClass = store.getAt(0).get('Class'); 
},this) 

Обратите внимание, что в то время, что это ответ на вопрос, как это сделать, он не дозвонились в то же время, как все остальное, его событие (которое вы слушаете), так что переменная будет неопределенным пока сервер не ответит.

+0

Не работает. Когда вы меняете 'var myStore = new Ext.data.Store ({' with 'var myStore = new Ext.dataStore ({', я получаю следующую ошибку: «Непринятый TypeError: undefined не является функцией (анонимная функция) ooo .html: 33 call " – Goran

Смежные вопросы