2013-07-26 5 views
5

Come posso chiamare la funzione che si trova all'interno del controller dalla funzione di regolazione lato fuori come potrebbe essere gap telefono richiamare la funzionecome chiamare la funzione di controllo da funzione di regolatore all'esterno come funzione globale in contatto Sencha

Ecco la funzione definita fuori lato il regolatore

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

Ecco la classe controller

 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 
     } 

    }); 

Come chiamare somefunction() dal onDev sopra funzione iceready()?

risposta

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

Dove

FCELB - Applicazione nome

LoginController - nome del controller

someFunction - Nome della funzione

+0

grazie per la risposta controllerò out – kondal

+0

che ha aiutato l'uomo !! Cheers – aMazing

+0

Non funziona per me: http://jsfiddle.net/therealjamesg/2An8n/ – slashwhatever

0

Prova questo:

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

o

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

Se le classi controller condividono un comportamento, si potrebbe anche voler guardare ExtJS mixins

Problemi correlati