Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将存储负载从视图更改为控制器ExtJS4_Javascript_Extjs_Extjs4 - Fatal编程技术网

Javascript 将存储负载从视图更改为控制器ExtJS4

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',

我有下一个密码。 我的看法是:

实际上,我在视图中加载存储,但我认为最好在控制器MVC中加载它。
但是我不想在应用程序启动时加载存储,我想在加载视图时从控制器加载存储(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();
}