<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Extjs4.1.x 框架搭建 采用Application動態(tài)按需加載MVC各模塊完美實現(xiàn)

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:42:16
        文檔

        Extjs4.1.x 框架搭建 采用Application動態(tài)按需加載MVC各模塊完美實現(xiàn)

        Extjs4.1.x 框架搭建 采用Application動態(tài)按需加載MVC各模塊完美實現(xiàn):中午的時候發(fā)了第一篇 Extjs4.1.x 框架搭建 采用Application動態(tài)按需加載MVC各模塊 ,發(fā)現(xiàn)實現(xiàn)上還是有問題,有很多理解不到位的地方,晚上詳細解決下了,終于實現(xiàn)MVC各模塊按需加載了,哈皮。 上篇文章中,關于ExtJs這個玩意的評論就跟java和.Net那
        推薦度:
        導讀Extjs4.1.x 框架搭建 采用Application動態(tài)按需加載MVC各模塊完美實現(xiàn):中午的時候發(fā)了第一篇 Extjs4.1.x 框架搭建 采用Application動態(tài)按需加載MVC各模塊 ,發(fā)現(xiàn)實現(xiàn)上還是有問題,有很多理解不到位的地方,晚上詳細解決下了,終于實現(xiàn)MVC各模塊按需加載了,哈皮。 上篇文章中,關于ExtJs這個玩意的評論就跟java和.Net那

        中午的時候發(fā)了第一篇 Extjs4.1.x 框架搭建 采用Application動態(tài)按需加載MVC各模塊 ,發(fā)現(xiàn)實現(xiàn)上還是有問題,有很多理解不到位的地方,晚上詳細解決下了,終于實現(xiàn)MVC各模塊按需加載了,哈皮。

        上篇文章中,關于ExtJs這個玩意的評論就跟java和.Net那個好一樣,既然上了賊船,就難下了,而且對于企業(yè)級的應用我個人覺得Extjs框架還是不錯的,尤其是沒有UI設計的團隊(苦逼的程序員就兼UI吧),起碼難得發(fā)現(xiàn)一個做的比較好的UI框架(國產(chǎn)的miniUI貌似看的過去,其他的就有點扯淡了[什么EasyUI、Dojo、JqueryUI等等]),2年前選擇了Extjs2.0之后收費了,停了一段時間,后面做了比較久的Ext.Net(主要是開發(fā)效率高),現(xiàn)在還是轉(zhuǎn)回了ExtJs4,又到了起點,悲吹....干吧!

        扯遠了,回歸正題:中午的時候碰到一個問題,控件的事件被注銷了,思索了下考慮是application重新創(chuàng)建覆蓋主框架的問題,那么也就是說整個系統(tǒng)只能采用一個application,那么如何動態(tài)的加載controller呢?只要動態(tài)的加載了controller,其他的view、store等都會被一次加載。


        首先我們需要定義一個公共方法讓application加載controller
        代碼如下:

        //動態(tài)加載js模塊,****重要
        var application;
        Ext.Loader.setConfig({ enabled: true });
        Ext.require([
        'Ext.app.Application',
        'Ext.app.Controller'
        ]);
        Ext.app.Controller.implement({
        //MVC 加載模型
        loadModel: function () { },
        //MVC 加載視圖
        loadView: function () { },
        getApplication: function () {
        return this.application;
        }
        });
        Ext.app.Application.implement({
        //MVC 加載控制器 param {String/Array} controllers
        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];
        if (!this.controllers.containsKey(name)) {
        controller = Ext.create(
        this.getModuleClassName(name, 'controller'), {
        application: this,
        id: name
        });
        this.controllers.add(controller);
        // 優(yōu)先加載模型
        controller.loadModel();
        controller.init(this);
        controller.onLaunch(this);
        //動態(tài)構(gòu)建視圖 & 綁定模型數(shù)據(jù)
        controller.loadView();
        }
        }
        }
        });
        /*****END************/

        OK,看整個的"組織架構(gòu)的"js結(jié)構(gòu)如下(真的是很多,真的是很蛋疼):
         
        當我們單擊功能節(jié)點樹的"組織架構(gòu)"的時候,開始加載Controller的Org.js,是的只需要加載這一個就可以了,其他的他會自動加載,也是MVC的優(yōu)點:
        代碼如下:

        @{
        ViewBag.Title = "組織架構(gòu)管理";
        }
        <script>
        /*
        寫法一:
        application.loadModule("Users");
        //var module = application.getController("Users");
        //var viewName = module.views[1];
        //alert(viewName);
        //var view = module.getView("user.List");或者是viewName
        //var panel = view.create();
        //Global.ExtTabDoLayout(panel);
        寫法二:
        var main = new Ext.Panel({
        border: false,
        layout: 'fit',
        items: [{
        xtype: 'userlist'
        }]
        });
        Global.ExtTabDoLayout(main);
        */
        application.loadModule("Org");
        var main = new Ext.Panel({
        border: false,
        layout: 'border',
        items: [{ xtype: 'OrgTree' }, { xtype: 'OrgUserGrid' }]
        });
        //添加到tab里
        Global.ExtTabDoLayout(main);
        </script>

        這樣整個組織架構(gòu)的頁面搭建就實現(xiàn)了,而且是按需加載本模塊的,各個事件不會沖突。
        具體的代碼太多了見附件。
        這還沒開始寫業(yè)務邏輯呢,就這么蛋疼了寫了這一堆的js文件,看來整個架構(gòu)完成,哥哥我非死即傷( ⊙o⊙ )哇

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Extjs4.1.x 框架搭建 采用Application動態(tài)按需加載MVC各模塊完美實現(xiàn)

        Extjs4.1.x 框架搭建 采用Application動態(tài)按需加載MVC各模塊完美實現(xiàn):中午的時候發(fā)了第一篇 Extjs4.1.x 框架搭建 采用Application動態(tài)按需加載MVC各模塊 ,發(fā)現(xiàn)實現(xiàn)上還是有問題,有很多理解不到位的地方,晚上詳細解決下了,終于實現(xiàn)MVC各模塊按需加載了,哈皮。 上篇文章中,關于ExtJs這個玩意的評論就跟java和.Net那
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 日本zzzzwww大片免费| 国产一区二区三区免费| 女人张开腿给人桶免费视频| 亚洲国产精品美女| 久久久久国产精品免费免费搜索 | 99精品视频免费| 久久亚洲国产精品五月天婷| 色婷婷精品免费视频| 精品国产免费一区二区三区香蕉| 亚洲熟伦熟女新五十路熟妇| 中文字幕免费观看视频| 亚洲va久久久噜噜噜久久男同| 久久永久免费人妻精品| 亚洲一区二区三区四区视频| 国产精品免费观看久久| 国产精品亚洲天堂| 久久久久亚洲av毛片大| 久久免费观看国产精品88av| 亚洲一区电影在线观看| 国产国产人免费人成免费视频| 人妻无码中文字幕免费视频蜜桃| 亚洲精品国产精品乱码不卡√| 免费精品无码AV片在线观看| 亚洲人成7777影视在线观看| 日本高清免费观看| 亚洲午夜电影一区二区三区| 日韩黄色免费观看| a级毛片免费观看在线| 亚洲人成电影在线天堂| 成年女人免费视频播放77777| 无码AV动漫精品一区二区免费| 亚洲国产综合无码一区| 免费福利网站在线观看| 羞羞视频免费网站含羞草| 亚洲精品无码高潮喷水在线| 美女视频黄的全免费视频网站| 日韩大片免费观看视频播放 | 在线日韩日本国产亚洲| 羞羞视频在线免费观看| 亚洲AV日韩AV鸥美在线观看| 女人被弄到高潮的免费视频|