• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題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
    當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

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

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

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

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

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

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

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


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

    //動(dòng)態(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);
    //動(dòng)態(tài)構(gòu)建視圖 & 綁定模型數(shù)據(jù)
    controller.loadView();
    }
    }
    }
    });
    /*****END************/

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

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

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

    文檔

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

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

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 日韩精品无码一本二本三本| 亚洲欧美日韩精品久久| 国精品午夜福利视频不卡麻豆| 国产在线观看高清精品| 国产福利91精品一区二区三区 | 国产亚洲精品国产| 一本一本久久a久久精品综合麻豆| 国产高清在线精品一区二区| 久久国产精品久久久| 精品人妻大屁股白浆无码| 亚洲午夜精品一级在线播放放| 国产亚洲精品不卡在线| 真实国产乱子伦精品免费| 国产成人A人亚洲精品无码| 无码人妻精品一区二区三18禁| 亚洲av无码成人精品国产| 国产成人精品久久亚洲高清不卡 | 国产精品一在线观看| 国产精品www| 国产精品嫩草视频永久网址| 国产成人久久精品一区二区三区 | 精品久久久久久亚洲| 国产精品视频第一区二区三区| 午夜DY888国产精品影院| 亚洲日韩国产精品第一页一区| 欧美日韩精品一区二区视频| 精品无码久久久久久久动漫| 国产精品爽爽ⅴa在线观看| 99RE8这里有精品热视频| 桃花岛精品亚洲国产成人 | 韩国精品欧美一区二区三区| 国产精品宾馆在线精品酒店| 国产精品欧美亚洲韩国日本不卡 | 亚洲国产精品成人精品无码区在线| 亚洲精品天堂成人片?V在线播放| 日韩欧美亚洲国产精品字幕久久久| 精品国产不卡一区二区三区| 久久国产热这里只有精品| 久久久精品国产Sm最大网站| 久久99精品免费一区二区| 免费精品久久久久久中文字幕 |