我正在使用 extjs 4.2,并且在一个地方我正在加载这样的存储对象:
var userDetailStore = Ext.create('Ext.data.Store', {
model : 'Person.DetailsModel',
autoLoad : true,
proxy : {
type : 'ajax',
method : 'POST',
url : 'getValueAction.action',
reader : {
type : 'json',
root : 'details'
},
writer : {
type : 'json',
root : 'details'
}
},
fields : ['id','loginName','referenceId' ,'name']
});//Here I load the store which will definitely contain a list of values.
在下一行我想像这样从存储对象中获取第一个值的referenceId
var empId = userDetailStore.getAt(0).get('referenceId')
我得到了错误,因为到目前为止,商店对象 userDetailStore 的 getCount() 给了我零。但是如果我写一个警报语句,如alert('loading data'); 在我获得 referenceId 的行之前,代码工作正常。行userDetailStore.getCount()给了我确切的值。
所以我认为在加载商店和使用商店之间需要某种延迟,但我不想显示警报。我什至使用sleep()方法代替警报语句。但这也不是工作。(顺便说一句,我什至不想通过执行sleep()来冻结浏览器)
加载商店时我做错了什么吗?有什么通用方法可以在商店完全加载后执行我的代码以使用商店?
有人请在这里帮我...
问候:开发