差沙的密碼 -- SSHWSFC's code
          閱讀本Blog請自備塑料袋一只
          posts - 14,  comments - 59,  trackbacks - 0
          相信大家看了Ext2.0后, 印象最深的應該是Ext的組件模式,很好的規范了組件設計,用Manager的統一管理,也是很好的方式.下面簡單分析一下Ext的組件結構.

          Ext的所有組件都是擴展于Ext.Component, 而后子類擴展和集成形成了一個單根的組件樹.
          Ext中使用組件的方式很不一樣,可以看一個例子.

             1.  var formPanel = new Ext.form.FormPanel({
             
          2. items: [{
             
          3. xtype: 'hidden',
             
          4. name: 'domainId'
             
          5. },{
             
          6. fieldLabel: '姓名',
             
          7. name: 'name',
             
          8. allowBlank:false
             
          9. },{
            
          10. fieldLabel: '權限',
            
          11. xtype: 'combo',
            
          12. name: 'auth'
            
          13. },{
            
          14. fieldLabel: '帳號',
            
          15. name: 'account'
            
          16. },{
            
          17. fieldLabel: 'Email',
            
          18. name: 'email',
            
          19. vtype:'email'
            
          20. },{
            
          21. fieldLabel: '啟用',
            
          22. xtype: 'checkbox',
            
          23. name: 'enabled'
            
          24. }
            
          25. ]
            
          26. });


          如此這樣就能實現一個包含了很多元素的表單, items里面定義了表單要顯示的輸入框等組件,但是items里面僅僅是簡單的json對象,怎么能顯示出來各種不同的表單元素呢?

          我們注意到items的每一個元素幾乎都有一個xtype屬性,這個xtype屬性就是描述組件類的關鍵.

          其實Ext里面的組件(Panel, Form Datepicker等等), 在定義完Class之后, 都會把自己注冊到Ext.ComponentMgr里面. 簡單看一個box的組件, 在BoxComponent.js文件的最后一行可以看到:

          Ext.reg('box', Ext.BoxComponent);


          而在, ComponentMgr.js文件里

          // private
          # registerType : function(xtype, cls){
          # types[xtype] 
          = cls;
          # cls.xtype 
          = xtype;
          # },
          #
          // private
          # create : function(config, defaultType){
          return new types[config.xtype || defaultType](config);
          # }
          # };
          # }();
          #
          // this will be called a lot internally,
          // shorthand to keep the bytes down
          # Ext.reg = Ext.ComponentMgr.registerType;


          其實是執行了registerType 這個方法,方法很簡單, 把xtype這個名字和對應的cls放到types里面, 而后看到create 我們應該會明白了, 以后想創建組件的時候,就調用 create({xtype: 'box'}) 就OK了

          那么我們看看items里面的元素是怎么創建的吧, form的繼承樹中有一個Ext.Container類, 恩,就在這個類里呢:

             1.  // private
             2. lookupComponent : function(comp){
             
          3if(typeof comp == 'string'){
             
          4return Ext.ComponentMgr.get(comp);
             
          5. }else if(!comp.events){
             
          6return this.createComponent(comp);
             
          7. }
             
          8return comp;
             
          9. },
            
          10.
            
          11// private
            12. createComponent : function(config){
            
          13return Ext.ComponentMgr.create(config, this.defaultType);
            
          14. },


          恩,基本就是這樣了, 希望對大家理解Ext有所幫助

          /************************* ***********************/
          附件是我弄的一個Ext的組件結構圖, 還附有各個組件的說明, 希望大家喜歡, 大家快下呀....


          posted on 2007-10-20 20:01 差沙 閱讀(7729) 評論(25)  編輯  收藏 所屬分類: bew

          FeedBack:
          # re: Ext的組件結構分析,附Ext組件結構圖
          2007-10-20 21:34 | 海邊沫沫
          沙發  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2007-10-21 09:29 | thinkbase
          我是在 javaeye 上看到這篇文章的, 很不錯, 雖然我習慣潛水一般不回, 呵呵  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2007-10-21 13:04 | BeanSoft
          多謝啊! 支持!  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2007-11-21 16:22 | fjpan2002
          謝謝樓主了。  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2007-12-26 23:18 | 鄭偉
          大哥 附件在哪啊 ,小弟剛剛接觸 ext 希望大哥 指點一二  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖[未登錄]
          2008-01-03 11:39 | aa
          good  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖[未登錄]
          2008-02-18 10:44 | dd
          good  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2008-02-22 13:01 | coder
          謝謝了  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2008-03-11 10:02 | 路過
          附件呢  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖[未登錄]
          2008-04-22 12:50 | lily
          謝謝

            回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖[未登錄]
          2008-05-05 13:22 | jason
          附件,哪里  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖[未登錄]
          2008-05-10 17:05 | 天涯
          附件呢?  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2008-05-21 15:50 | 夕顏
          先頂頂 沒看到附件``  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2008-06-05 15:23 | qwety
          大哥,附件呢,我正需要啊  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2008-06-12 22:27 | khajuraho
          很好,第一次看到ext就感覺很爽。謝謝樓主更詳盡的描述。  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2008-06-23 13:33 | dengshengyx
          haha  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖[未登錄]
          2008-07-07 20:10 | 啦啦啦
          問下:
          file 類型怎么弄  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2008-07-11 16:43 | eye
          feichanghao  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2008-08-19 19:46 | 謝謝
          好東西一定不能沉下去,UP UP UP UP UP UP UP   回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2008-10-26 22:20 |
          good  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2008-10-26 22:20 |
          怎么沒有附件的啊!  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2008-11-28 09:07 | hjhj
          mei you fjian  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2010-12-03 18:50 | alian
          組件呢  回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2012-08-06 11:46 | zds
          真的很不錯哦
            回復  更多評論
            
          # re: Ext的組件結構分析,附Ext組件結構圖
          2013-04-03 17:10 | haha.
          附件在哪里呀?  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          這家伙很懶,但起碼還是寫了一句話。

          <2012年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(8)

          隨筆分類

          隨筆檔案

          文章分類

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 东乌| 桦甸市| 招远市| 临邑县| 安西县| 葫芦岛市| 寿宁县| 连平县| 昆明市| 洛阳市| 惠东县| 彭泽县| 江都市| 阜城县| 积石山| 武隆县| 兴隆县| 潮安县| 育儿| 龙游县| 仙居县| 武隆县| 苏州市| 华宁县| 兰溪市| 永福县| 阿拉善左旗| 烟台市| 崇州市| 高雄县| 卢龙县| 营口市| 南汇区| 枞阳县| 东平县| 深圳市| 济源市| 渑池县| 江源县| 乌拉特前旗| 沾化县|