Javascript 将存储负载从视图更改为控制器ExtJS4
我有下一个密码。 我的看法是: 实际上,我在视图中加载存储,但我认为最好在控制器MVC中加载它。Javascript 将存储负载从视图更改为控制器ExtJS4,javascript,extjs,extjs4,Javascript,Extjs,Extjs4,我有下一个密码。 我的看法是: 实际上,我在视图中加载存储,但我认为最好在控制器MVC中加载它。 但是我不想在应用程序启动时加载存储,我想在加载视图时从控制器加载存储(Ext.getCmp('comboEstados').getStore().load();)。我更熟悉ExtJS>=5.0,但我认为下面的代码可以解决您的问题 在控制器中: Ext.define('Test.controller.ctrlMtoOrganismos', { extend: 'Ext.app.Controller',
但是我不想在应用程序启动时加载存储,我想在加载视图时从控制器加载存储(Ext.getCmp('comboEstados').getStore().load();)。我更熟悉ExtJS>=5.0,但我认为下面的代码可以解决您的问题 在控制器中:
Ext.define('Test.controller.ctrlMtoOrganismos', {
extend: 'Ext.app.Controller',
models:[
'mantenimientos.organismos.mdlMtoOrganismos',
'filtros.mdlEstadosMtoOrganismos'
],
stores:[
'mantenimientos.organismos.strMtoOrganismos',
'filtros.strEstadosMtoOrganismos',
'filtros.strComunidadesAutonomas'
],
views: [
'mantenimientos.organismos.viewModuloMtoOrganismos'
],
refs: [
],
init: function() {
}
});
init: function() {
this.control({
'viewGridMtoOrganismos': {
beforerender: this.loadStore
}
})
},
this.loadStore: function(view){
Ext.getCmp('comboEstados').getStore().load();
}
在本例中,我使用beforerender(在视图完全渲染时加载存储),但您可以使用afterrender或render
作为提示,您应该在编码时查看一些有关命名法(小部件名称)和良好实践的Sencha信息。?您使用的是什么版本的ExtJS?
init: function() {
this.control({
'viewGridMtoOrganismos': {
beforerender: this.loadStore
}
})
},
this.loadStore: function(view){
Ext.getCmp('comboEstados').getStore().load();
}