如何从外部控制器功能调用控制器内部的功能,如可能是电话间隙回叫功能
这是控制器一侧定义的功能
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
}
});
如何从上面的onDereadyready()函数调用somefunction()
?
答案 0 :(得分:13)
FCELB.app.getController('LoginController').somefunction();
<强>其中强>
FCELB - 申请名称
LoginController - 控制器的名称
某些功能 - 功能名称
答案 1 :(得分:1)
如果您的控制器类共享某些行为,您可能还需要查看ExtJS mixins
答案 2 :(得分:0)
试试这个:
document.addEventListener("deviceready", this.somefunction, false);
或
var self = this;
document.addEventListener("deviceready", function(e) { self.somefunction(e); }, false);