日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

ExtJS學(xué)習(xí):MVC模式案例(四) | 李壞博客

 feimishiwo 2014-05-04

      通過ExtJS MVC案例系列教程的前三講,我們基本實(shí)現(xiàn)了MVC模式布局ExtJS項(xiàng)目的目的,并且在瀏覽器中也可以看到最為常見的網(wǎng)頁(yè)布局結(jié)構(gòu)。但是,作為WEB開發(fā)者,并不是能夠?qū)崿F(xiàn)網(wǎng)頁(yè)布局就算是完成任務(wù)了,我們還需要實(shí)現(xiàn)一定的功能。在這一講中,我們將實(shí)現(xiàn)當(dāng)點(diǎn)擊ExtJS菜單節(jié)點(diǎn)的時(shí)候,網(wǎng)頁(yè)主題部分顯示相對(duì)應(yīng)的內(nèi)容。
      到目前為止,我們的文件結(jié)構(gòu):
ExtJS MVC模式案例
      本講我們不會(huì)添加新的文件,只是對(duì)原來的文件進(jìn)行修改即可。前面我們說過,控制器的主要作用是監(jiān)聽事件,控制邏輯。所以,我們今天主要修改demoController.js這個(gè)文件,為我們的項(xiàng)目添加切換頁(yè)面的功能。目前我們demoController.js文件的代碼為:

1Ext.define('Demo.controller.demoController', {
2  extend: 'Ext.app.Controller',
3  views: ['Viewport','menuTree'],
4  stores: ['menuStore'],
5  model: ['menuModel']
6});

      首先我們需要對(duì)menuTree組件的鼠標(biāo)點(diǎn)擊事件進(jìn)行監(jiān)聽,修改后的代碼:

01Ext.define('Demo.controller.demoController', {
02  extend: 'Ext.app.Controller',
03  views: ['Viewport','menuTree'],
04  stores: ['menuStore'],
05  model: ['menuModel'],
06  //通過init函數(shù)來監(jiān)聽視圖事件,控制視圖與控制器的交互
07  init: function() {
08    //init函數(shù)通過this.control來負(fù)責(zé)監(jiān)聽
09    this.control({
10                        //被監(jiān)聽的組件的別名
11      'menutree': {
12        //監(jiān)聽鼠標(biāo)點(diǎn)擊事件,點(diǎn)擊后調(diào)用changePage方法
13        itemclick: this.changePage,
14      }
15    });
16  },
17  changePage:function(){
18    alert('success');
19  }
20});

      刷新頁(yè)面,點(diǎn)擊菜單幾點(diǎn),彈出success說明我們監(jiān)聽事件成功。下面我們繼續(xù)修改changePage方法,實(shí)現(xiàn)對(duì)主體內(nèi)容部分頁(yè)面的切換功能。demoController.js代碼如下:

01Ext.define('Demo.controller.demoController', {
02  extend: 'Ext.app.Controller',
03  views: ['Viewport','menuTree'],
04  stores: ['menuStore'],
05  model: ['menuModel'],
06  //通過init函數(shù)來監(jiān)聽視圖事件,控制視圖與控制器的交互
07  init: function() {
08    //init函數(shù)通過this.control來負(fù)責(zé)監(jiān)聽
09    this.control({
10      //被監(jiān)聽的組件的別名
11      'menutree': {
12        //監(jiān)聽鼠標(biāo)點(diǎn)擊事件,點(diǎn)擊后調(diào)用changePage方法
13        itemclick: this.changePage,
14      }
15    });
16  },
17  changePage:function(view, rec, item, index, e){
18    //獲取url地址
19    var url = rec.get('url');
20    //獲取當(dāng)前節(jié)點(diǎn)信息
21    var title = rec.get('text');
22    //將主體內(nèi)容部分的url地址指定為我們獲取到的url
23    Ext.getDom('contentIframe').src = url;
24    //將主體內(nèi)容框的標(biāo)題設(shè)置為我們獲取的節(jié)點(diǎn)信息
25    Ext.getCmp('mainContent').setTitle(title);
26  }
27});

      通過對(duì)changePage方法的修改,刷新頁(yè)面,當(dāng)我們?cè)俅吸c(diǎn)擊節(jié)點(diǎn)的時(shí)候,右側(cè)主體內(nèi)容部分將顯示對(duì)應(yīng)url的頁(yè)面信息,大功告成。
      今天我們實(shí)現(xiàn)了頁(yè)面切換的功能,下一講我們將講解如何實(shí)現(xiàn)右鍵菜單。
歡迎各位留言交流,共同進(jìn)步!

如非特殊說明,文章均為ITLee原創(chuàng),轉(zhuǎn)載請(qǐng)注明原文地址: http://www./qianduan/extjs/491.html/

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多