Skip to content Skip to sidebar Skip to footer

Extjs Multiple Listeners

I have a property grid that I want to add multiple 'afterrender' listeners to. Is it possible to add multiple listeners of the same type, or fire multiple functions within one list

Solution 1:

Another way to call multiple functions with the same event is by using on:

...
initComponent: function () {
  var me = this;
  me.on('afterrender', me.functionA);
  me.on('afterrender', me.functionB);
  ...
  me.on('afterrender', me.functionN);
  me.callParent(arguments);
}

Solution 2:

Just make multiple function calls within the function callback. Below shows a full example of this...

Working Fiddle

Ext.create('Ext.grid.property.Grid', {
    title: 'Properties Grid',
    width: 300,
    renderTo: Ext.getBody(),

    functionOne: function() {
        alert("functionOne called");
    },

    functionTwo: function() {
        alert("functionTwo called");
    },

    listeners: {
        afterrender: function() {
            var me = this;
            me.functionOne();
            me.functionTwo();
        }
    }
});

Solution 3:

Solution 4:

You can do it by calling several functions in a callback function with its all arguments, like this:

afterrender: function() {
    Foo.apply(this, arguments);
    Bar.apply(this, arguments);
}

Now you can define functions Foo and Bar and it would be called with all afterrender callback function arguments.

Post a Comment for "Extjs Multiple Listeners"