文件路徑 : ./src/hooks.ts
javascript
這個文件主要是定義了 Virtual Dom 在實現過程當中,在其執行過程當中的一系列鉤子。方便外部作一些處理html
// 鉤子 export interface Hooks { // 在 `patch` 開始執行的時候調用 pre?: PreHook; // 在 `createElm`,進入的時候調用init // vnode轉換爲真實DOM節點時觸發 init?: InitHook; // 建立真實DOM的時候,調用 create create?: CreateHook; // 在`patch`方法接近完成的時候,才收集全部的插入節點,遍歷調用響應的鉤子 // 能夠認爲插入到DOM樹時觸發 insert?: InsertHook; // 在兩個節點開始對比前調用 prepatch?: PrePatchHook; // 更新過程當中,調用update update?: UpdateHook; // 兩個節點對比完成時候調用 postpatch?: PostPatchHook; // 刪除節點的時候調用,包括子節點的destroy也會被觸發 destroy?: DestroyHook; // 刪除當前節點的時候調用。元素從父節點刪除時觸發,和destory略有不一樣,remove隻影響到被移除節點中最頂層的節點 remove?: RemoveHook; // 在`patch`方法的最後調用,也就是patch完成後觸發 post?: PostHook; }
snabbdom源碼解析(五) 鉤子github
snabbdom源碼解析(六) 模塊segmentfault
我的博客地址函數