注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

风之泪

风过雨过,花开花落。。。

 
 
 

日志

 
 

extjs4 mvc module loaded (resolved once the slow loading all files)  

2014-07-08 17:04:50|  分类: extjs |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
extjs4 mvc 按模块加载(解决一次加载所有文件慢问题) - 风 - 风之泪extjs4 mvc 按模块加载(解决一次加载所有文件慢问题) - 风 - 风之泪
  
公共方法让application加载controller

Ext.app.Application.implement({
loadModule : function(controllers) {
var me = this;
var controllers = Ext.Array.from(controllers), ln = controllers.length, i, controller;
for (i = 0; i < ln; i++) {
var name = controllers[i];
//avoid reload controller
if (!this.controllers.containsKey(name)) {
controller = Ext.create(
this.getModuleClassName(name, 'controller'), {
application : this,
id : name
});
this.controllers.add(controller);
controller.init(this);
controller.onLaunch(this);
}
}
}
});
Ext.getApplication = function() {
return application;
};
Ext.getController = function(name) {
return Ext.getApplication().getController(name);
};
var application;
Ext.application({
name : 'Usws',
appFolder:'app',
autoCreateViewport : true,
launch: function () {
Ext.tip.QuickTipManager.init();
application = this;
this.loadModule(['Launch']);
}
});

eg:
app项目js文件夹名称
Launch初始化加载的controller,用于页面和导航页面的导航菜单加载。

Ext.define('Usws.controller.Launch', {
extend : 'Ext.app.Controller',
refs : [{
ref : 'navigation',
selector : 'navigation'
}, {
ref : 'contentPanel',
selector : 'contentPanel'
}],

init : function() {
this.control({
'navigation' : {
itemclick : 'navClick'
}
});
},

navClick : function(view, record, item, index, e, eOpts) {
checkIsLogin();
var self = this;
var text = record.get('text'), xtype = record.get('name'), alias = 'widget.'
+ xtype + '-Panel', contentPanel = self.getContentPanel(), cmp;
// only leaf nodes have ids
if (record.get("leaf") && xtype) {
Ext.require("Usws.controller." + xtype, function() {
self.application.loadModule([xtype]);

cmp = Ext.widget(xtype + '-Panel');
cmp.tools = getWindowsMaxMinTools();
cmp.animate = true;
contentPanel.removeAll(true);
contentPanel.add(cmp);
document.title = document.title.split(' - ')[0] + ' - '+ text;
location.hash = xtype;
}, self);
}
}
});


  评论这张
 
阅读(227)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017