关于Ext.application的执行顺序。

答案:Ext.application先执行Ext.application

中的controllers : [ 'login.UserLogin' ]中的login.UserLogin中的init : function()

再执行Ext.application中的launch : function()函数。

再执行 login.UserLogin中的onLaunch()方法。


index.js如下:

Ext.application({
name : 'cdkj',
appFolder : base + '/static/js/com',
paths : base + '/static/js/com',// 设置路径信息
controllers : [ 'login.UserLogin' ],


launch : function() {
alert(123);
Ext.tip.QuickTipManager.init();
}
});

UserLogin.js如下:

Ext.define('cdkj.controller.login.UserLogin', {
extend : 'Ext.app.Controller',
views : [ 'login.LoginWin' ],


init : function() {
alert(112233);
Ext.create('cdkj.view.login.LoginWin').show();
this.control({
'LoginLoginwin button[action=login]' : {
click : this.loginClick
},
'LoginLoginwin button[action=cancel]' : {
click : this.cancelClick
}
});
},


loginClick : function(btn) {
var win = btn.up('window'), loginForm = win.down('form');
if (loginForm.isValid()) {
loginForm.submit({
url : base + '/user/login.html',
method : 'post',
params : 'jsonStr=' + Ext.JSON.encode(loginForm.getValues()),
waitTile : '提示',
waitMsg : '正在提交登录信息,请等待...',
success : function() {
win.close();
Ext.create('cdkj.controller.index.MainController').init();
},
failure : function() {
win.close();
Ext.Msg.alert('提示', '用户密码错误,请重新输入');
}
});
}
},


cancelClick : function(btn) {
var win = btn.up('window');
win.close();
}
});

启动应用,先输出

112233

再输出

123

说明先执行了Ext.application

中的controllers : [ 'login.UserLogin' ]中的login.UserLogin中的init : function()

再执行Ext.application中的launch : function()函数。


、、、、、、、、、、、、、、、、、、、、


另外,可参考官网说明:http://docs.sencha.com/extjs/4.2.3/#!/api/Ext.app.Controller

The init function is a special method that is called when your application boots. It is called before the Application's launch function is executed so gives a hook point to run any code before your Viewport is created.






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值