Extjs 如何从外部控制器函数调用控制器函数,如sencha touch中的全局函数
我如何从外部控制器功能调用控制器内部的功能,例如可能是电话间隔回拨功能 这是在控制器外定义的函数Extjs 如何从外部控制器函数调用控制器函数,如sencha touch中的全局函数,extjs,cordova,extjs4,sencha-touch,sencha-touch-2,Extjs,Cordova,Extjs4,Sencha Touch,Sencha Touch 2,我如何从外部控制器功能调用控制器内部的功能,例如可能是电话间隔回拨功能 这是在控制器外定义的函数 function onDeviceReady() { //do ALL your localstorage stuff here console.log('In onDeviceReady() function'); somefunction();// this is not working } 这是控制器类 Ext.define('FCELB.contr
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
}
});
如何从上面的OnDevicerady()函数调用somefunction()
?试试以下方法:
document.addEventListener("deviceready", this.somefunction, false);
或
其中
FCELB-应用程序名称
LoginController-控制器的名称
somefunction-函数名如果您的控制器类共享某些行为,您可能还想看看此解决方案可以工作,但每次运行时都会从被调用的类调用init函数。
var self = this;
document.addEventListener("deviceready", function(e) { self.somefunction(e); }, false);
FCELB.app.getController('LoginController').somefunction();