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 Ext.按钮处理程序配置选项_Javascript_Extjs - Fatal编程技术网

Javascript Ext.按钮处理程序配置选项

Javascript Ext.按钮处理程序配置选项,javascript,extjs,Javascript,Extjs,_onClick吃一个参数;在上面的代码中,您输入了“click”事件,因为您希望在用户单击按钮后执行onClick。但是,如何指定此特定的“click”注册并同时传入局部变量作为_onClick参数 另一方面,当API声明处理程序总是与单击相关时,为什么还要指定“单击”?这些附加信息不是不必要的吗?通常是这样设置的。不需要传递参数,因为someFunction是“类”的成员,可以访问您想要的任何数据 someClass = Ext.extend(someClassB, {

_onClick吃一个参数;在上面的代码中,您输入了“click”事件,因为您希望在用户单击按钮后执行onClick。但是,如何指定此特定的“click”注册并同时传入局部变量作为_onClick参数


另一方面,当API声明处理程序总是与单击相关时,为什么还要指定“单击”?这些附加信息不是不必要的吗?

通常是这样设置的。不需要传递参数,因为someFunction是“类”的成员,可以访问您想要的任何数据

    someClass = Ext.extend(someClassB, {
        _someFunctionC{  
           someButton = new Ext.button({  
              handler: function () {
                            this._onClick('click');
                       }
           }),
           _onClick(someMessage){
               Ext.Msg.alert(someMessage);
            }
        }
    }

通常是这样设置的。不需要传递参数,因为someFunction是“类”的成员,可以访问您想要的任何数据

    someClass = Ext.extend(someClassB, {
        _someFunctionC{  
           someButton = new Ext.button({  
              handler: function () {
                            this._onClick('click');
                       }
           }),
           _onClick(someMessage){
               Ext.Msg.alert(someMessage);
            }
        }
    }

因此,如果我理解正确,您希望设置handler config选项,但自己一次性设置参数

这是你想要的吗

var button = new Ext.Button({
    handler: this.someFunction
    scope: this
});

someFunction: function() {
   // do something interesting.
}

注意对匿名函数执行的
createCallback
,这为
handler
创建了一个回调函数,它只将传递给
createCallback

的参数传递给

这是你想要的吗

var button = new Ext.Button({
    handler: this.someFunction
    scope: this
});

someFunction: function() {
   // do something interesting.
}

请注意,在匿名函数上执行的
createCallback
,这将为
处理程序创建一个回调函数,该函数仅将传递给
createCallback

的参数传递给

// clicking the button alerts 'Hello World'
new Ext.Button({
    text: 'Test',
    handler: function(value){
        alert('Hello, ' + value);
    }.createCallback('World')
});

您还可以创建一个回调函数,在调用该函数时插入额外的参数:

// clicking the button alerts 'Hello World'
new Ext.Button({
    text: 'Test',
    handler: function(value){
        alert('Hello, ' + value);
    }.createCallback('World')
});

我发现的另一种方法是将自定义配置选项与按钮一起传递。假设您想要一个
splitbutton
,可以选择要添加的横幅数量。(这来自最近的一个项目)

在你的职能中:

{
xtype: 'splitbutton',
iconCls: 'icon addBanners',
ref: '../addBanner',
text: 'Add Banner',
menu: new Ext.menu.Menu({
    items: [{ 
        text: 'Add 10 Banners',
        scope: this,
        handler: this.addBanner,
        numBanners: 10
    },{
        text: 'Add 20 Banners',
        scope: this, 
        handler: this.addBanner,
        numBanners: 20
    }]
}),                    
scope: this,
handler: this.addBanner,
numBanners: 1
}

我发现的另一种方法是将自定义配置选项与按钮一起传递。假设您想要一个
splitbutton
,可以选择要添加的横幅数量。(这来自最近的一个项目)

在你的职能中:

{
xtype: 'splitbutton',
iconCls: 'icon addBanners',
ref: '../addBanner',
text: 'Add Banner',
menu: new Ext.menu.Menu({
    items: [{ 
        text: 'Add 10 Banners',
        scope: this,
        handler: this.addBanner,
        numBanners: 10
    },{
        text: 'Add 20 Banners',
        scope: this, 
        handler: this.addBanner,
        numBanners: 20
    }]
}),                    
scope: this,
handler: this.addBanner,
numBanners: 1
}

你能再详细说明一下吗?也许发布一些“元代码”来说明你想要实现什么?有点不清楚你想做什么或出了什么问题这有帮助吗?基本上我想传递一些信息。你能再详细一点吗?也许发布一些“元代码”来说明你想要实现什么?有点不清楚你想做什么或出了什么问题这有帮助吗?基本上我想传递一些信息。好的建议。但是,这需要对要传入的生成变量进行一些修改。我考虑修改handler-config选项,而不是使用scope不同地绕过它:this。更一般地说,我试图理解指定匿名函数与按照您的建议指定函数之间的区别。好建议。但是,这需要对要传入的生成变量进行一些修改。我考虑修改handler-config选项,而不是使用scope不同地绕过它:this。更一般地说,我试图理解指定匿名函数与按照您的建议指定函数之间的区别。