@feng3d/reactivity
    Preparing search index...

    Class EffectReactivity<T>

    效果反应式节点。

    Type Parameters

    • T = any

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    Properties

    __v_isRef: true

    标识这是一个 ref 对象。

    _func: (oldValue?: T) => T

    计算函数。

    用于计算属性值的函数,可以访问其他响应式数据。 当依赖发生变化时,会重新执行此函数。

    "[ComputedSymbol]": true
    activeReactivity: ComputedReactivity

    当前正在执行的反应式节点。

    用于在依赖收集过程中标识当前正在执行的节点。 当其他节点访问此节点的值时,会将其作为父节点。

    Accessors

    • get value(): T

      获取计算属性的值。

      取值时会:

      1. 检查是否需要重新计算
      2. 建立与父节点的依赖关系
      3. 返回当前值

      Returns T

    Methods

    • 检查子节点是否发生变化。

      遍历所有子节点,检查它们的值是否发生变化。 如果发生变化,返回 true,否则返回 false。

      在检查过程中会:

      1. 临时禁用依赖跟踪
      2. 检查每个子节点的值
      3. 如果子节点没有变化,重新建立依赖关系
      4. 清空子节点集合

      Returns boolean

      是否有子节点发生变化

    • 暂停效果。

      暂停后,当依赖发生变化时不会自动执行。

      Returns void

    • 恢复效果。

      恢复后,当依赖发生变化时会自动执行。

      Returns void

    • 检查并执行计算。

      检查当前节点是否需要重新计算:

      1. 如果脏标记为 true,需要重新计算
      2. 如果子节点发生变化,需要重新计算

      重新计算后会清除脏标记。

      Returns void

    • 停止效果。

      停止后,效果将不再响应依赖的变化。

      Returns void

    • 建立依赖关系。

      当其他节点访问当前节点的值时,会调用此方法。 将当前节点与访问者(父节点)建立依赖关系。

      如果当前没有活动的响应式节点,或者不应该跟踪依赖,则不会建立依赖关系。

      Returns void