|
通過ExtJS MVC案例系列教程的前三講,我們基本實(shí)現(xiàn)了MVC模式布局ExtJS項(xiàng)目的目的,并且在瀏覽器中也可以看到最為常見的網(wǎng)頁布局結(jié)構(gòu)。但是,作為WEB開發(fā)者,并不是能夠?qū)崿F(xiàn)網(wǎng)頁布局就算是完成任務(wù)了,我們還需要實(shí)現(xiàn)一定的功能。在這一講中,我們將實(shí)現(xiàn)當(dāng)點(diǎn)擊ExtJS菜單節(jié)點(diǎn)的時(shí)候,網(wǎng)頁主題部分顯示相對應(yīng)的內(nèi)容。
到目前為止,我們的文件結(jié)構(gòu):

本講我們不會(huì)添加新的文件,只是對原來的文件進(jìn)行修改即可。前面我們說過,控制器的主要作用是監(jiān)聽事件,控制邏輯。所以,我們今天主要修改demoController.js這個(gè)文件,為我們的項(xiàng)目添加切換頁面的功能。目前我們demoController.js文件的代碼為:
1 | Ext.define('Demo.controller.demoController', { |
2 | extend: 'Ext.app.Controller', |
3 | views: ['Viewport','menuTree'], |
首先我們需要對menuTree組件的鼠標(biāo)點(diǎn)擊事件進(jìn)行監(jiān)聽,修改后的代碼:
01 | Ext.define('Demo.controller.demoController', { |
02 | extend: 'Ext.app.Controller', |
03 | views: ['Viewport','menuTree'], |
04 | stores: ['menuStore'], |
06 | //通過init函數(shù)來監(jiān)聽視圖事件,控制視圖與控制器的交互 |
08 | //init函數(shù)通過this.control來負(fù)責(zé)監(jiān)聽 |
12 | //監(jiān)聽鼠標(biāo)點(diǎn)擊事件,點(diǎn)擊后調(diào)用changePage方法 |
13 | itemclick: this.changePage, |
17 | changePage:function(){ |
刷新頁面,點(diǎn)擊菜單幾點(diǎn),彈出success說明我們監(jiān)聽事件成功。下面我們繼續(xù)修改changePage方法,實(shí)現(xiàn)對主體內(nèi)容部分頁面的切換功能。demoController.js代碼如下:
01 | Ext.define('Demo.controller.demoController', { |
02 | extend: 'Ext.app.Controller', |
03 | views: ['Viewport','menuTree'], |
04 | stores: ['menuStore'], |
06 | //通過init函數(shù)來監(jiān)聽視圖事件,控制視圖與控制器的交互 |
08 | //init函數(shù)通過this.control來負(fù)責(zé)監(jiān)聽 |
12 | //監(jiān)聽鼠標(biāo)點(diǎn)擊事件,點(diǎn)擊后調(diào)用changePage方法 |
13 | itemclick: this.changePage, |
17 | changePage:function(view, rec, item, index, e){ |
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); |
通過對changePage方法的修改,刷新頁面,當(dāng)我們再次點(diǎn)擊節(jié)點(diǎn)的時(shí)候,右側(cè)主體內(nèi)容部分將顯示對應(yīng)url的頁面信息,大功告成。
今天我們實(shí)現(xiàn)了頁面切換的功能,下一講我們將講解如何實(shí)現(xiàn)右鍵菜單。
歡迎各位留言交流,共同進(jìn)步!
如非特殊說明,文章均為ITLee原創(chuàng),轉(zhuǎn)載請注明原文地址: http://www./qianduan/extjs/491.html/
|