1

我有这个:

{
    listeners['combobox[name="counterparty_id"]'] = {
        afterrender: {
            fn: this.onComboboxCounterpartyAfterrender,
            scope: this
        }
    };      

    this.control(listeners);
}



// function which is being called after rendering the combobox

onComboboxCounterpartyAfterrender: function(combobox, eOpts){

// some code

},

那么,我怎样才能发送额外的参数来onComboboxCounterpartyAfterrender运行呢?

也许是这样的:

listeners['combobox[name="counterparty_id"]'] = {
            afterrender: {
                fn: this.onComboboxCounterpartyAfterrender,
                scope: this,
                params: someParameters
            }
        };
4

2 回答 2

3

有很多方法可以做到这一点。

首先,您可以使用 eOpts。如文档所述,eOpts 是“传递给 Ext.util.Observable.addListener 的选项对象。”。因此,在您的示例中,您应该能够执行 ePots.params 来访问 someParametsrs

其次,您可以使用 Ext.bind() 或 Ext.pass() 来传递您的参数。第一个前置,第二个附加附加参数。

第三,你可以按照 Amit Aviv 的建议去做,这几乎就是 Ext.pass() 会做的事情。

第四,如果可能,您可以使用范围。

于 2013-05-18T13:43:47.420 回答
1

可能有更好的方法,但你可以这样做:

listeners['combobox[name="counterparty_id"]'] = {
    afterrender: {
        fn: function(combobox, eOpts) {
            this.onComboboxCounterpartyAfterrender(combobox, eOpts, params)
        }
        ...
于 2013-05-18T12:37:21.343 回答