Extjs Mvc模式下的整個MVC框架體系即下圖: 包含了Controller(實現方法層),Store(數據來源管理層),View(頁面佈局層)。之所以用MVC我想是因為減輕針對某一頁面的單一的JS 的開發,為啥呢,可以看一下沒有使用MVC模式的Extjs 的編碼: (因為我也是新手,所以可能里 ...
Extjs Mvc模式下的整個MVC框架體系即下圖:
包含了Controller(實現方法層),Store(數據來源管理層),View(頁面佈局層)。之所以用MVC我想是因為減輕針對某一頁面的單一的JS 的開發,為啥呢,可以看一下沒有使用MVC模式的Extjs 的編碼:
(因為我也是新手,所以可能裡面的代碼有點兒冗雜)
僅僅是一個頁面,代碼量已經上了千行以上,可想而知,對於功能複雜的頁面如果用單一的Extjs UI開發的話 代碼量肯定可煩人(最主要是翻來翻去的,滑鼠滾輪都煩了...)。而且如果你寫完這個頁面,其他的頁面也有相同功能的組件的話,你是不是又要重新Copy然後在寫一遍重覆的代碼呢.... 那樣也就賊噁心了。
一:視圖的創建:
就像目前本人所做的項目:一個互聯網醫療項目,整體就是採用的Extjs MVC模式,如果自己創建一個組件的話我們可以給其一個“xtype”:,然後在需要調用該組件或者頁面的頁面只需要在items裡面配置所有項的時候將其寫為:{xtype:'...'}就可以將該組件拿出來使用了,當然還需要註意的是必須要在組件創建頁里就是上圖上有一個"requires"屬性,在這裡需要將所有引用該組件的頁面的路徑寫上去,然後引用頁才可以調用該組件。
二:控制器:
如果我們某一個搜索按鈕有一個handler的話,我們可以將該方法寫到控制器裡面去,如:
這裡面的“onSearch”就是一個方法,而該方法則是在控制器裡面的專一的JS文件裡面寫著
當然這裡也有一個需要註意的:我們需要指定controller的位置,這個屬性也是在視圖頁面配置的:
三:數據來源store
這裡面用的是defin,自定義的store,給了一個ID,與一個別名
其他的頁面在調用這個數據源的時候就可以這樣使用了:
其中type 對應的就是store里的別名“alias”屬性,storeid就不用說了,這樣只要ashx沒寫錯,那麼數據就會出現了:
當然具體裡面還有好多更深的用法,本人也是菜鳥一個,只能慢慢學習嘍 —.— 。
堅持就是收穫,一口吃不成胖子,記下生活學習的點點滴滴進步,再迴首,怎麼地也是一筆財富。
—————— 給自己