Extjs 将组件引用传递给函数

Extjs 将组件引用传递给函数,extjs,extjs4,Extjs,Extjs4,我想知道如何将组件的变量传递给函数?如下图所示: // here is the function that I want to pass 'winArticle' by parameter var getLevels = function(win) { return win.down('fieldset[id=article-fieldset]').items.items.length; } var winArticle = new Ext.Window({ ... handl

我想知道如何将组件的变量传递给函数?如下图所示:

// here is the function that I want to pass 'winArticle' by parameter
var getLevels = function(win) {
    return win.down('fieldset[id=article-fieldset]').items.items.length;
}

var winArticle = new Ext.Window({
   ...

handler : function() {
    // I tried this but nothing happen
    getLevels('winArticle');
}
});

根据您的评论,我不确定哪里有任何混淆,您已经有了对窗口的引用,所以只需传递它

var myWin = new Ext.window.Window();
someMethod(myWin);

您可以为组件添加一个itemId,在这个范围内,您可以始终使用down或up函数来获取组件

如果要将组件作为参数传递给函数,则似乎是从要传递的组件调用函数,因此只需将此作为参数传递给函数中的组件即可。确保设置处理程序组件的作用域

修改代码是这样的事情

var winArticle = new Ext.Window({
...
{
  xtype: 'button',
  scope: this,
  handler : function() {
     getLevels(this);
  } 
}
});

你的问题没有足够的信息。与窗口相关的处理程序声明在哪里
winArticle
已经是对窗口对象的引用,所以您只需传递它。亲爱的Evan,有5个这样的窗口,因此我想将窗口变量传递给函数。这不重要
处理程序
,只想编写简单的示例<代码>获取级别在脚本顶部声明的函数。