GoogleClosureLibrary 中的Component 模型纪要
生活随笔
收集整理的這篇文章主要介紹了
GoogleClosureLibrary 中的Component 模型纪要
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
要高效使用google的這個庫需要正確理解它的Component模型,總的說來Component是這個庫中所有控件和組件的基礎類,有點象asp.net中的control這個基類,它定義了一個組件的生命周期過程規范和一些可覆寫的方法。
?
一個組件在生命周期中大致會經過如下幾個階段:
| constructor | Component instance creation |
| createDom() | Component DOM structure building |
| decorateInternal() (optional) | |
| enterDocument() | Post DOM-building initialization (such as attaching event listeners) |
| exitDocument() | Post DOM-removal cleanup (such as detaching event listeners) |
| dispose() | Component disposal |
| canDecorate() | Indicates whether the component can use a pre-existing element |
事件綁定在enterDocument方法中完成,因為直到此時dom元才存在于document中,并可以使用getElement方法來查找dom中的元素。
?
子元素創建應該在decorateInternal方法里面做,可以使用decorate 方式,或者創建法,這里需要該手動調用render()方法?
參考文檔: Component組件模型介紹
?
2010.11.25 Update:
- 如果組件含有其它的組件,一般應該在構造函數中創建子組件的實例。
- createDom方法用于完全的js界面生成,如果是decorate則應根據已有dom結構在decorateInternal方法中創建缺失的元素。
- enterDom方法除可用于事件綁定外,還可以調用子組件的render方法將子組件加載到文檔結構中,如果是decorate則不必手動調用render方法。
- 如果只需創建類似zippy一樣的功能性組件,而不需要維護自己的dom結構,則不必從component類繼承,可以選擇EventTarget即可,使之可以使用dispatchEvent方法引發事件和成為其它組件的監聽目標。
- 元素事件類型:goog.events.EventType
- 組件事件類型:goog.ui.Component.EventType
總結
以上是生活随笔為你收集整理的GoogleClosureLibrary 中的Component 模型纪要的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2次错误
- 下一篇: mysql 判断是否已存在及插入表数据