kondal
kondal

Reputation: 358

how to call controller function from outside controller function like global function in sencha touch

How can I call function which is inside controller from out side controller function like might be phone gap call back function

Here is the function defined out side the controller

  function onDeviceReady() {
    //do ALL your localstorage stuff here
    console.log('In onDeviceReady() function');
    somefunction();// this is not working
  }

Here is the controller class

     Ext.define('FCELB.controller.LoginController', {
        extend: 'Ext.app.Controller',
        config: {
            refs: {
                username: '#username',
                password: '#password'
            },

            }

        },      

        init: function () {
            console.log('Login controller');
            document.addEventListener("deviceready", onDeviceReady, false);
            //onDeviceReady();
        },

        somefunction:function(){
            //some functionality
        }

   });

How to call somefunction() from the above onDeviceready() function?

Upvotes: 6

Views: 11308

Answers (3)

player
player

Reputation: 610

If your controller classes share some behaviour, you might also want to look at ExtJS mixins

Upvotes: 1

Viswa
Viswa

Reputation: 3211

FCELB.app.getController('LoginController').somefunction();  

Where

FCELB - Application name

LoginController - Name of the controller

somefunction - Function name

Upvotes: 13

Vitalii Blagodir
Vitalii Blagodir

Reputation: 1099

Try this:

document.addEventListener("deviceready", this.somefunction, false);

or

var self = this;
document.addEventListener("deviceready", function(e) { self.somefunction(e); }, false);

Upvotes: 0

Related Questions