快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

和记娱乐下载官方平台:Extjs4.1.x使用Application动态按需加载MVC各模块(二)



上一篇发明实现上照样有问题,有很多理解不到位的地方,晚上具体办理下了,终于实现MVC各模块按需加载了,哈皮。

上篇文章和记娱乐下载官方平台中,关于ExtJs这个玩意的评论就跟java和.Net那个好一样,既然上了贼船,就难下了,而且对付企业级的利用我小我感觉Extjs框架照样不错的,尤其是没有UI设计的团队(苦逼的法度榜样员就兼UI吧),最少可贵发明一个做的对照好的UI框架(国产的miniUI貌似看的以前,其他的就有点扯淡了[什么EasyUI、Dojo、JqueryUI等等]),2年前选择了Extjs2.0之后收费了,停了一段光阴,后面做了对照久的Ext.Net(主如果开拓效率高),现在照样转回了ExtJs4,又到了动身点,悲吹....干吧!

扯远了,回归正题:正午的时刻碰着一个问题,控件的事故被注销了,思考了下斟酌是application从新创建覆盖主框架的问题,那么也便是说全部系统只能采纳一个application,那么若何动态的加载controller呢?只要动态的加载了controller,其他的view、store等都邑被一次加载。

首先我们必要定义一个公共措施让application加载controller,借鉴:http://www.fengfly.com/plus/view-213232-1.html

//动态加载js模块,奸淫*紧张

var application;Ext.Loader.setConfig({ enabled: true });

Ext.require(['Ext.app.Application',

'Ext.app.Controller' ]);

Ext.app.Controller.imp和记娱乐下载官方平台lement({//MVC 加载模型

loadModel: function和记娱乐下载官方平台 () { },//MVC 加载视图

loadView: function () { },getApplication: function () {

return this.application;}

});Ext.app.Application.implement({

//MVC 加载节制器param {String/Array} controllersloadModule: function (controllers) {

var me = this;var controllers = Ext.Array.from(controllers), ln = controllers.length, i, controller;

for (i = 0; ivar name = controllers[i];

if (!this.controllers.containsKey(name)) {controller = Ext.create(

this.getModuleClassName(name, 'controller'), {application: this,

id: name});

this.controllers.add(controller);// 优先加载模型

controller.loadModel();controller.init(this);

controller.onLaunch(this);//动态构建视图 & 绑定模型数据

controller.loadView();}

}}

});/奸淫**END奸淫奸淫奸淫奸淫/

OK,看全部的"组织架构的"js布局如下(真的是很多,真的是很蛋疼):

当我们单击功能节点树的"组织架构"的时刻,开始加载Controller的Org.js,是的只必要加载这一个就可以了,其他的他会自动加载,也是MVC的优点:

@{

ViewBag.Title = "组织架构治理";}

这样全部组织架构的页面搭建就实现了,而且是按需加载本模块和记娱乐下载官方平台的,各个事故不会冲突。

详细的代码太多了见附件。

这还没开始写营业逻辑呢,就这么蛋疼了写了这一堆的js文件,看来全部架构完成,哥和记娱乐下载官方平台哥我非逝世即伤( ⊙o⊙ )哇...............

附件

您可能还会对下面的文章感兴趣: