2013-11-26 113 views
1

是否在ExtJs 4.0中加載app.js時自動創建Ext.data.Store? 我在我的商店中設置了autoLoad:true,當app.js加載時,我看到了一個http請求,該商店被髮送。ExtJs4.0自動創建商店?

Ext.Loader.setConfig({ enabled : true }); 
Ext.application({ 
    name : 'YX', 
    enableQuickTips : true, 
    autoCreateViewport : true, 
    controllers : ['UserController'] 
}); 

Ext.define('YX.controller.UserController', { 
    extend : 'Ext.app.Controller', 
    models : ['User'], 
    stores : ['UserStore'], 
    views : ['user.List', 'user.Edit'], 
    refs : [ 
     { ref : 'list', selector : 'userlist' }, 
     { ref : 'edit', selector : 'useredit' } 
    ] 
}); 

Ext.define('YX.store.UserStore', { 
    extend : 'Ext.data.Store', 
    model : 'YX.model.User', 
    autoLoad : true, 
    proxy : { 
     type : 'ajax', 
     url : 'user/list.do', 
     reader : app.ajax.gridReader 
    } 
}); 

回答

2

這是意圖行爲。如果您設置了autoLoad: true,則會在創建課程時加載您的商店。

如果您希望您的商店僅在使用時加載,您需要設置autoLoad: false並手動撥打store.load()。在需要您的商店顯示數據的組件的的evnet中,哪裏可以做到這一點。