我想知道如何将组件的变量传递给函数?如下所示:
// 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');
}
});
答案 0 :(得分:1)
您可以为组件添加itemId,您可以使用向下或向上功能来获取组件。
如果你想将组件作为参数传递给函数,它似乎是你想要传递的组件调用函数,所以只需要 this 作为参数传递函数中的组件。确保设置处理程序组件的范围。
修改你的代码就像这样
var winArticle = new Ext.Window({
...
{
xtype: 'button',
scope: this,
handler : function() {
getLevels(this);
}
}
});
答案 1 :(得分:0)
根据你的评论,我不确定哪里有任何混淆,你已经有了对窗口的引用,所以只需通过它。
var myWin = new Ext.window.Window();
someMethod(myWin);