Options
All
  • Public
  • Public/Protected
  • All
Menu

External module "vdom/diff"

Index

Variables

Let diffLevel

diffLevel: number = 0

Let hydrating

hydrating: boolean = false

Let isSvgMode

isSvgMode: boolean = false

Const mounts

mounts: any[] = []

Functions

buildVoidNode

  • buildVoidNode(): object
  • Returns object

    • base: null
    • props: boolean

cacheChildren

  • cacheChildren(parentNode: Element | Node | null, vlen: number, isHydrating: boolean): ICacheChildren
  • 获取原有缓存dom

    Parameters

    • parentNode: Element | Node | null

      父节点

    • vlen: number

      虚拟dom数

    • isHydrating: boolean

      是否已渲染

    Returns ICacheChildren

diff

  • 比较dom差异

    Parameters

    • vdom: IVDom | undefined

      原vdom

    • vnode: childType

      jsx

    • context: IKeyValue

      通过render来的是一个空对象。

    • mountAll: boolean

      是否已全部挂载

    • parent: any

      挂载元素

    • componentRoot: boolean

      是否为componentRoot

    Returns IVDom

diffAttributes

diffChildren

  • diffChildren(vdom: IVDom, vchildren: childType[] | childType, context: any, mountAll: boolean, isHydrating: boolean): void
  • 比较子元素进行更新

    Parameters

    • vdom: IVDom

      原vdom

    • vchildren: childType[] | childType

      虚拟子元素数组

    • context: any

      上下文

    • mountAll: boolean

      是否需要挂载

    • isHydrating: boolean

      是否

    Returns void

flushMounts

  • flushMounts(): void
  • 对挂载队列触发挂载完成钩子

    Returns void

idiff

  • 比较dom和vnode,进行新建dom,复用dom,或者新建组件,复用组件

    Parameters

    • vdom: IVDom | undefined | null

      原dom

    • vnode: childType

      用于创建dom的虚拟对象

    • context: IKeyValue

      组件上下文用于组件创建时使用

    • mountAll: boolean

      是否需要挂载

    • componentRoot: boolean

      是否来自renderComponent

    Returns IVDom

recollectNodeTree

  • recollectNodeTree(node: IVDom, unmountOnly: boolean): void
  • 递归回收(或者只是卸载一个)

    Parameters

    • node: IVDom

      要被卸载的dom

    • unmountOnly: boolean

      为true则只触发生命周期,跳过删除(仅在dom上的组件索引不存在有效)

    Returns void

removeChildren

  • removeChildren(node: IVDom): void
  • Parameters

    Returns void

Generated using TypeDoc