Class Node<E, T>

Node 节点

Example

class ObjClass extends Node<{"added": { node: Node, id: number }}> {}

Type Parameters

Hierarchy (view full)

Constructors

Properties

children: (Node<E, T> | T)[] = []

它的子节点集合

events: {
    [x: EventType]: Events[keyof Events][];
}

Type declaration

parent: null | Node<E, T> | T = null

它的父节点

Methods

  • 添加子节点

    Parameters

    Returns Node<E, T>

  • 发布

    Type Parameters

    • Key extends string | number | symbol

    Parameters

    • event: number | Key

      — 事件名称

    • Rest ...data: Parameters<E[Key]>

      — 载荷

    Returns void

  • 根据属性名称找到对应的Node节点

    Type Parameters

    • V = any

    Parameters

    • name: string

      属性名称

    • value: V

      属性值

    Returns undefined | Node<E, T> | T

    Example

    new Node().getNodeByProperty("id", "23548")
    
  • 根据属性名称找到对应的Node节点

    Type Parameters

    • V = any

    Parameters

    • name: string

      属性名称

    • value: V

      属性值

    Returns (Node<E, T> | T)[]

    Example

    new Node().getNodeByProperty("id", "23548")
    
  • 销毁事件

    Type Parameters

    • Key extends string | number | symbol

    Parameters

    • event: Key

      事件名称

    • Optional callback: E[keyof E]

      事件方法

    Returns void

  • 订阅

    Type Parameters

    • Key extends string | number | symbol

    Parameters

    • event: Key

      事件名称

    • callback: E[keyof E]

      事件回调

    Returns void

  • 移除子节点 *

    Parameters

    Returns Node<E, T>

  • 从父节点中移除

    Returns Node<E, T>

  • 遍历它的所有子节点包括孙子节点,直到它包含的节点全部遍历完成并都执行传入的方法

    Parameters

    • callback: ((node) => void)

      回调函数

        • (node): void
        • Parameters

          • node: this

          Returns void

    Returns void

  • 让它的父节点依次冒泡执行传入的方法的方法

    Type Parameters

    Parameters

    • callback: ((node) => boolean | void)

      回调函数,第一个参数是父节点, callback的返回值为false 将停止继续传递

        • (node): boolean | void
        • Parameters

          • node: V

          Returns boolean | void

    Returns void