snabbdom源碼解析(五) 鉤子

文件路徑 : ./src/hooks.tsjavascript

這個文件主要是定義了 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源碼解析系列

snabbdom源碼解析(一) 準備工做vue

snabbdom源碼解析(二) h函數java

snabbdom源碼解析(三) vnode對象node

snabbdom源碼解析(四) patch 方法git

snabbdom源碼解析(五) 鉤子github

snabbdom源碼解析(六) 模塊segmentfault

snabbdom源碼解析(七) 事件處理dom

我的博客地址函數

相關文章
相關標籤/搜索