我使用extjs并使用存储加载程序加载json文件。
我想加载一个json文件。它将包含“totalRecords”,我想把它放在var中。例如var Records。这样我就可以在我的应用程序的某些位置显示它并将其用于警报。
感谢你的帮助,我知道有这个:
total = Ext.create('Ext.data.Store', {
model: 'step1',
proxy: {
type: 'ajax',
url: 'testevents.json',
reader: {
type: 'json',
root: 'slaevents'
}
},
listeners: {
load: function() {
records = total.getRange()
test = records[0].get('event')
alert('1 =' +test)
}
},
autoLoad:true
});
alert('2 =' +test)
这将显示警告“1 =其他”。那是正确的。并且“2 =未分解”。那是错的。我如何在这家店外使用测试?
谢谢
答案 0 :(得分:2)
意识到您的商店没有立即加载,因此当您在js中立即将其分配给变量时,它没有任何内容。您需要监听要加载的商店,然后分配它,或者在回调中分配它。例如,这很好用:
// get the countries
var countries = Ext.create('Ext.data.Store', {
fields: ['id','name'],
proxy: {
type: 'ajax',
url: '../getCountries',
reader: 'json'
},
listeners: {
load: function() {
records = countries.getRange()
alert(records[0].get('name'))
}
}
});
此警告“阿根廷”。
records
成为Ext.data.Model
个对象的数组,每个对象都具有Ext.data.Model
所具有的所有方法。这包含在API中的here。