gpt4 book ai didi

javascript - ExtJs 4.2 从扩展 Controller 访问变量

转载 作者:行者123 更新时间:2023-11-30 15:55:01 24 4
gpt4 key购买 nike

我有两个这样的 Controller :

Controller 1(主)

Ext.define('App.MainController', {
extend: 'Ext.app.Controller',
models:[
//some_models
],
stores:[
//some_stores
],
views: [
//some_views
],
refs: [],
init: function() {
this.TipoDetalle='';
this.control({
'GridConcursos':{
itemdblclick:this.onDblClickRow
}
});
},

//some_code

onDblClickRow:function(element, record, item, index, e, eOpts){
this.TipoDetalle=record.data['tipo_concurso'];
}

//some_code
});

Controller 2(子 Controller )

Ext.define('App.SubController', {
extend: 'App.MainController',
models:[
//some_models
],
stores:[
//some_stores
],
views: [
//some_views
],
refs: [],
init: function() {
this.control({
'FichaDetalle':{
beforeshow:this.onBeforeShow
}
});
},

//some code

onBeforeShow:function(){
//Some way to print the variable TipoDetalle from the main controller
}
});

在第二个 Controller 上,在 onBeforeShow 函数中我想打印或显示来自第一个 Controller TipoDetalle 的变量,但我不知道这是否可能,如果可能我不知道如何获取第二个 Controller 中的变量

最佳答案

您可以使用以下语法:

<appname>.app.getController(<controller's full name>).<var name>

在你的情况下是

App.app.getController('App.MainController').TipoDetalle

确保在 Controller 中初始化 TipoDetalle 变量,如下所示:

Ext.define('App.MainController', {
extend: 'Ext.app.Controller',
TipoDetalle:'',
...

关于javascript - ExtJs 4.2 从扩展 Controller 访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38697986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com