0

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

// 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');
}
});
4

2 回答 2

1

您可以为组件添加 itemId,并且从范围内您始终可以使用 down 或 up 函数来获取组件。

如果您想将组件作为参数传递给函数,看起来您正在从要传递的组件调用函数,所以只需将作为参数来传递函数中的组件。确保设置处理程序组件的范围。

修改您的代码将是这样的

var winArticle = new Ext.Window({
...
{
  xtype: 'button',
  scope: this,
  handler : function() {
     getLevels(this);
  } 
}
});
于 2013-08-15T17:28:51.983 回答
0

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

var myWin = new Ext.window.Window();
someMethod(myWin);
于 2013-08-15T13:01:04.163 回答