2014-12-23 2 views
1

기본 users.json 파일, 사용자 모델 및 사용자 저장소가 있습니다. getCount()를 호출하면 저장소의 크기가 0입니다.내 상점이 간단한 모델 데이터로 채워지지 않습니다.

초기 아이디어는 load 이벤트에 대한 리스너를 추가하는 것이 었습니다. 그러나 getStore()를 호출하는 것조차 빈 데이터를 반환합니다.

내가 잘못 읽었습니까?

{ 
    "users":[ 
     { 
      "name": "Mike Henderson", 
     }, 
     { 
      "name": "Sally Michael", 
     }, 
     { 
      "name": "Rory Muldoon", 
     } 
    ] 
} 


Ext.define('TP.model.User', { 
    extend: 'Ext.data.Model', 

    config: { 
     fields: ['name'] 
    } 
}); 

Ext.define('TP.store.Users', { 
    extend: 'Ext.data.Store', 

    config:{ 
     autoload: true, 
     model: 'TP.model.User', 
     storeId: 'Users', 
     proxy : { 
      type: 'ajax', 
      url: 'data/users.json', 
      reader: { 
       rootProperty: 'users', 
       type: 'json' 
      } 
     } 
    } 
}); 

Ext.application({ 
    name: 'TP', 

    views: ['Main'], 

    models:['User'], 

    stores:['Users'], 

    launch: function() { 
     // Destroy the #appLoadingIndicator element 
     Ext.fly('appLoadingIndicator').destroy(); 

     // Initialize the main view 
     Ext.Viewport.add(Ext.create('TP.view.Main')); 

     Ext.getStore('Users').on('load', this.onStoreLoad, this); 
     console.log(Ext.getStore('Users').getCount()); 

    }, 

    onStoreLoad: function(self, records, success, operation) { 
     console.log("loaded store"); 
    } 

}); 

답변

1

결국 해결책을 찾았습니다. 간단한 오타였습니다.

저장소 구성 - 자동로드는 autoLoad (자본금 L)이어야합니다.