2013-11-26 81 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中,哪里可以做到这一点。