vdom
- Document 類,整個頁面文檔。
- Node 類,結點的基礎類。
- Element 類,元素結點,繼承自 Node,單個視圖單元。
- Comment 類,注釋結點,繼承自 Node,無實際意義,通常用作占位符。
每個 Weex 頁面都有一個 weex.document 對象,該對象就是一個 Document 類的實例,也是下面所有接口調用的起點。
Document
每個 Document 實例在創建的時候都會自動擁有一個 documentElement 屬性,表示文檔結點。該文檔結點可以擁有一個 body
文檔的主體結點只接受 <div>
、<list>
或 <scroller>
三種類型的元素結點。
包含方法:createELement
,createComponent
,createBody
,fireEvent
和destroy
body
: Element
- 文檔的主體結點,概念類似 HTML DOM 里的 document.body。
documentElement
: Element
- 文檔的對應結點,概念類似 HTML DOM 里的 document.documentElement。
body 和 documentElement 的關系是:documentElement 是 body 的父結點。
getRef(id)
: Node
- 根據結點 id 獲取結點。
Node
一個虛擬節點類。
ref
:
- 每個 Node 實例都有各自的在整個 Document 實例中唯一的 ref 值。
children
: Node[]
- 該結點擁有的所有子結點的數組。
pureChildren
: Node[]
- 該結點擁有的所有子元素的數組。和 children 的區別是,pureChildren 只包含了 Element 實例而不包含 Comment 實例。
Element 類 繼承自 Node
包含對 Dom 樹的操作方法:appendChild
,insertBefore
,insertAfter
,removeChild
和clear
屬性操作:setAttr
、setStyle
、addEvent
、removeEvent
、fireEvent
WebElement
繼承自 Element
- 插入一個 webView
toJSON()
: Object
nodeType
: number
- 永遠是數字 1。
Comment 類 繼承自 Node
注釋節點
nodeType: number
- 永遠是數字 8。
toJSON()
: Object
nodeType
- 1 普通 element,
- 8 comment
- 3 TextNode,Vue 中 定義的 TextNode,<element>TextNode<element>
instance
1、頁面示例
每一個頁面都有為一個 instance,由 instance 負責 加載 jsbundle,并且
js 和 native 通信 的第一個參數 都是 instanceID。
2、生命周期
createInstance
,
refreshInstance
,
destroyInstance
component
1、組件
2、生命周期
weex vue Description
init beforeCreate 組件實例剛剛被創建,組件屬性如data計算之前
created created 組件實例創建完成,屬性已綁定,但DOM還未生成
beforeMount 模板編譯/掛載之前
ready mounted 模板編譯/掛載之后
beforeUpdate 組件更新之前
updated 組件更新之后
activated forkeep-alive, 組件被激活時調用
deactivated forkeep-alive, 組件被移除時調用
beforeDestroy 組件被銷毀前調用
destroyed destroyed 組件被銷毀后調用