博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Extjs4.1.x 框架搭建 采用 Application 动态按需加载 MVC 各模块完美实现
阅读量:7049 次
发布时间:2019-06-28

本文共 2704 字,大约阅读时间需要 9 分钟。

摘自 :

1  // 动态加载js模块,****重要 2  3 var application; 4  5        Ext.Loader.setConfig({ enabled: true }); 6  7        Ext.require([ 8  9        'Ext.app.Application',10 11        'Ext.app.Controller'12 13 ]);14 15  16 17 Ext.app.Controller.implement({18 19        //MVC 加载模型20 21        loadModel: function () { },22 23        //MVC 加载视图24 25        loadView: function () { },26 27        getApplication: function () {28 29               return this.application;30 31        }32 33 });34 35  36 37 Ext.app.Application.implement({38 39        //MVC 加载控制器 param {String/Array} controllers40 41        loadModule: function ( controllers ) {42 43               var me = this;44 45               var controllers = Ext.Array.from(controllers), ln = controllers.length, i, controller;46 47               for (i = 0; i < ln; i++) {48 49                      var name = controllers[i];50 51                      if (!this.controllers.containsKey(name)) {52 53                             controller = Ext.create(54 55                                    this.getModuleClassName(name, 'controller'), {56 57                                    application: this,58 59                                    id: name60 61                             });62 63                             this.controllers.add(controller);64 65                             // 优先加载模型66 67                             controller.loadModel();68 69                             controller.init(this);70 71                             controller.onLaunch(this);72 73                             //动态构建视图 & 绑定模型数据74 75                             controller.loadView();76 77                      }78 79               }80 81        }82 83 });84 85 /*****END************/

在调用时:

1         /* 2  3        写法一: 4  5        application.loadModule("Users"); 6  7        //var module = application.getController("Users"); 8  9        //var viewName = module.views[1];10 11        //alert(viewName);12 13        //var view = module.getView("user.List");或者是viewName14 15        //var panel = view.create();16 17        //Global.ExtTabDoLayout(panel);18 19        写法二:20 21        var main = new Ext.Panel({22 23        border: false,24 25        layout: 'fit',26 27        items: [{28 29        xtype: 'userlist'30 31        }]32 33        });34 35        Global.ExtTabDoLayout(main);36 37        */38 39        application.loadModule("Org");40 41  42 43        var main = new Ext.Panel({44 45               border: false,46 47               layout: 'border',48 49               items: [{ xtype: 'OrgTree' }, { xtype: 'OrgUserGrid' }]50 51        });52 53        //添加到tab里54 55        Global.ExtTabDoLayout(main);

 

 

转载于:https://www.cnblogs.com/livon/p/3398751.html

你可能感兴趣的文章
smarty练习: 设置试题及打印试卷
查看>>
替换子节点时 的注意事项
查看>>
groupinfo
查看>>
Django2.1.3 smtp 邮件 553报警
查看>>
maven 项目打包配置(build节点)
查看>>
Linux下安装配置 Jdk1.6+Tomcat6+Apache2.2.x+jk_mod1.2 详解
查看>>
02-25类成员的访问权限
查看>>
保存指定品质的图片
查看>>
多目标跟踪baseline methods
查看>>
关于QT_Creator不能在线调试问题
查看>>
abstract class VS interface[转]
查看>>
投票系统如何如何防刷票?
查看>>
20145234黄斐《Java程序设计》第六周学习总结
查看>>
linux读文件命令绕过姿势
查看>>
hdu 2044(递推)
查看>>
SpringCloud微服务实战:一、Eureka注册中心服务端
查看>>
数据库集群原理
查看>>
js正则表达式
查看>>
MFC读写配置文件
查看>>
css重置
查看>>