Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Node<E, T>

Node 节点

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

Type Parameters

Hierarchy

Index

Constructors

  • new Node<E, T>(): Node<E, T>

Properties

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

它的子节点集合

events: {}

Type declaration

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

它的父节点

Methods

  • add(...ages: (Node<E, T> | T)[]): Node<E, T>
  • 添加子节点

    Parameters

    • Rest ...ages: (Node<E, T> | T)[]

    Returns Node<E, T>

  • 清除 children

    Returns Node<E, T>

  • emit<Key>(event: number | Key, ...data: Parameters<E[Key]>): void
  • 发布

    Type Parameters

    • Key extends string | number | symbol

    Parameters

    • event: number | Key

      — 事件名称

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

      — 载荷

    Returns void

  • getNodeByProperty<V>(name: string, value: V): undefined | Node<E, T> | T
  • 根据属性名称找到对应的Node节点

    example
    new Node().getNodeByProperty("id", "23548")
    

    Type Parameters

    • V = any

    Parameters

    • name: string

      属性名称

    • value: V

      属性值

    Returns undefined | Node<E, T> | T

  • getNodesByProperty<V>(name: string, value: V): (Node<E, T> | T)[]
  • 根据属性名称找到对应的Node节点

    example
    new Node().getNodeByProperty("id", "23548")
    

    Type Parameters

    • V = any

    Parameters

    • name: string

      属性名称

    • value: V

      属性值

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

  • off<Key>(event: Key, callback?: E[keyof E]): void
  • 销毁事件

    Type Parameters

    • Key extends string | number | symbol

    Parameters

    • event: Key

      事件名称

    • Optional callback: E[keyof E]

      事件方法

    Returns void

  • on<Key>(event: Key, callback: E[keyof E]): void
  • 订阅

    Type Parameters

    • Key extends string | number | symbol

    Parameters

    • event: Key

      事件名称

    • callback: E[keyof E]

      事件回调

    Returns void

  • remove(...ages: (Node<E, T> | T)[]): Node<E, T>
  • 移除子节点

    Parameters

    • Rest ...ages: (Node<E, T> | T)[]

    Returns Node<E, T>

  • removeFromParent(): Node<E, T>
  • 从父节点中移除

    Returns Node<E, T>

  • traverse(callback: ((node: Node<E, T>) => void)): void
  • 遍历它的所有子节点包括孙子节点,直到它包含的节点全部遍历完成并都执行传入的方法

    Parameters

    • callback: ((node: Node<E, T>) => void)

      回调函数

        • (node: Node<E, T>): void
        • Parameters

          Returns void

    Returns void

  • traverseParent<V>(callback: ((node: V) => boolean | void)): void
  • 让它的父节点依次冒泡执行传入的方法的方法

    Type Parameters

    • V extends Node<any, any, V> = Node<E, T>

    Parameters

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

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

        • (node: V): boolean | void
        • Parameters

          • node: V

          Returns boolean | void

    Returns void