Ext JS添加子組件的誤區

來源:互聯網
上載者:User

經常會有人問我,為什麼我的Grid不能歲視窗的變得而自動調整。瞭解後,發現很多人都習慣在渲染子組件的時候將Gird渲染到容器內的一個div裡,而這正是問題的所在。

在Ext JS的布局系統中,能控制到的是容器的子組件,而對於渲染到容器中一個DIV的Grid,它並不知道在這容器裡添加了一個Grid,當調整大小的時候,也就無法去調整Grid的大小了,而這也就是為什麼Grid不會隨容器的改變而改變了。

為什麼那麼多人喜歡使用這種方式來添加子組件呢?我想原因主要有以下兩點:

  1. 不知道如何在容器內添加子組件,

  2. 習慣了使用JQuery等其他架構的開發方法,一時無法改變


第一個原因,只要是動態添加Grid,搞到很多初學者束手無策,譬如,我的Grid要從遠程返回後才知道怎麼建立,我怎麼去拿這個指令碼和添加到容器呢?筆者在學習Ext JS也犯過這樣的錯誤,可以理解。所以,本文的作用就是來解惑的。


辦法有兩個:一是,使用Ajax把整個Grid或其他組件的設定物件)載入到本地,然後使用容器的add方法就可以將組件添加到容器;一是直接使用容器的load功能,直接載入子組件並渲染,返回的資料就是子組件的設定物件。


第二個原因是習慣問題,只能自己去修正了,儘快熟悉Ext JS的開發模式就可以很容易改掉這個習慣。


如果是使用Ext JS 4的MVC做開發,基本不會出現這麼尷尬的情況了,因而可以將子組件做成視圖,然後在控制器中將視圖添加到容器中就可以了。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.