6

如何从外部控制器功能调用控制器内部的功能,例如电话间隙回调功能

这是在控制器外部定义的功能

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

这是控制器类

     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
        }

   });

如何somefunction()从上面的 onDeviceready() 函数中调用?

4

3 回答 3

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

在哪里

FCELB - 应用程序名称

LoginController - 控制器的名称

somefunction - 函数名

于 2013-07-26T09:40:24.847 回答
1

如果你的控制器类共享一些行为,你可能还想看看ExtJS mixins

于 2013-07-29T01:19:42.787 回答
0

尝试这个:

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

或者

var self = this;
document.addEventListener("deviceready", function(e) { self.somefunction(e); }, false);
于 2013-07-26T09:35:08.063 回答