手机版

Extjs4.1.x框架通过使用Application动态按需加载MVC模块完美实现

时间:2021-10-07 来源:互联网 编辑:宝哥软件园 浏览:

中午发布了第一个Extjs4.1.x框架,MVC模块由Application按需动态加载。发现实现上还存在问题,理解上还有很多不足,晚上详细解决,最后按需加载MVC模块,happi。在上一篇文章中,对ExtJs的评论和对java和的评论一样好。Net,但既然上了贼船,那就难了,我个人认为Extjs框架对于企业级应用还是不错的,尤其是对于没有UI设计的团队(努力的程序员也应该是UI),至少很少能找到相对好的UI框架(国内miniUI好像看过去了,其他的都有点废话[什么EasyUI,Dojo,JqueryUI等。]).两年前选择Extjs2.0后,收费,停了一段时间,做了很长时间的Ext.Net(主要是因为开发效率高)。现在已经转回ExtJs4,又到了起点。走吧!回到主题:中午遇到问题,控件的事件取消。想了想,原来是应用重新创建并覆盖了主框架的问题,也就是说整个系统只能使用一个应用,那么如何动态加载控制器呢?只要控制器是动态加载的,其他视图、存储等都可以。将被加载一次。

首先,我们需要为应用程序定义一个公共方法来加载控制器的复制代码。代码如下: //动态加载js模块,* * *重要var应用;延伸文件系统loader . setconfig({ enable d : true });ext . require([' ext . app . application ',' ext . app . controller ']);ext . app . controller . implement({//MVC加载模型loadmodel:function () {},//MVC加载视图loadview:function () {},getapplication : function(){ return this。应用;} });ext . app . application . implement({//MVC加载控制器param {string/array}控制器加载模块:函数(控制器){ var me=thisvar控制器=Ext。array . from(controller),ln=controllers.length,I,controller;for(I=0;我在;I){ var name=controller[I];if(!this . controllers . contains KeY(name)){ controller=Ext . create(this . GetModuleAssname(name,' controller ',{ application: this,id : name });this . controller . add(控制器);//首先加载模型控制器. LoadMoDEL();controller . init(this);controller . OnLaunch(this);//动态构建视图绑定模型数据控制器. LoadView();} } } });/*****END************好了,下面看看整个‘组织架构’的js结构(真的很多,真的很疼):

当我们点击功能节点树中的“组织结构”时,我们开始加载控制器的组织结构。可以,只需要加载这个,其他的都会自动加载,这也是MVC的优势:复制的代码如下: @ { ViewBag。标题=“组织结构管理”;} script /*编写为:application。load module(' user ');//var模块=application . getcontroller(' Users ');//var viewName=module . view[1];//alert(viewName);//var view=module.getView('user。列表');或者view name//var panel=view . create();//全局。ExtTabDoLayout(面板);第二, var main=new ext . panel({ border : false,layout:' fit ',items :[{ xtype 3360 ' user list ' }]});全球。ExtTabDoLayout(主);*/application . load module(' Org ');var main=new Ext。Panel({ border: false,layout: 'border ',items :[{ xtype : ' OrgTree ' },{ xtype : ' OrgUserGrid ' }]});//添加到全局选项卡。ExtTabDoLayout(主);/script,这样就实现了整个组织结构的页面搭建,并且这个模块是按需加载的,这样所有的事件都不会发生冲突。具体代码太多。见附件。我还没有开始写业务逻辑,所以写这一堆js文件很伤人。好像整个建筑都完成了,我哥不是死了就是受伤了(o)。

版权声明:Extjs4.1.x框架通过使用Application动态按需加载MVC模块完美实现是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。