日期:2014-05-16  浏览次数:20387 次

费解ext4中的Ext.data.Stroe,为何我用Ajax后台取到了值,但alert(mytore.getCount())老是为0?
先看代码: 

Ext.define('User', {
     extend: 'Ext.data.Model',
     fields: [
         {name: 'id', type: 'string'},
         {name: 'name',  type: 'string'}
     ]
 });

 var myStore = Ext.create('Ext.data.Store', {
     model: 'User',
     proxy: {
         type: 'ajax',
         url: '/users.json',
         reader: {
             type: 'json',
             root: 'users'
         }
     },
     autoLoad: true
 });

URL:/users.json取到的值为:
{users:[{"id":"1","name":"张三"},{"id":"2","name":"李四"}]} //在浏览器中输入URL,显示出的值

按理说,这时:alert(mytore.getCount())值应为2吧?但居然为0!实在看不出那里出问题了,请高人指教。
另外,我用的是ext4.1的,不知道版本有没BUG

------解决方案--------------------
值还没到;

function g(){
     var $a = userStore;
    
    
    
    }
    
    setTimeout(g,1000);
------解决方案--------------------
Ext.onReady(function() {
Ext.define('User', {
     extend: 'Ext.data.Model',
     fields: [
         {name: 'id', type: 'string'},
         {name: 'name',  type: 'string'}
     ]
 });
 
 var myStore = Ext.create('Ext.data.Store', {
     model: 'User',
     proxy: {
         type: 'ajax',
         url: 'users.json',
         reader: {
             type: 'json',
       &nbs