Egret Engine R - v6.0.0
    Preparing search index...

    Watcher 类能够监视可绑定属性的改变,您可以定义一个事件处理函数作为 Watcher 的回调方法,在每次可绑定属性的值改变时都执行此函数。

    Egret 2.4

    eui 1.0

    Web

    extension/eui/binding/WatcherExample.ts

    zh_CN

    Index
    • 构造函数,非公开。只能从 watch() 方法中调用此方法。有关参数用法,请参阅 watch() 方法。

      Parameters

      • property: string
      • handler: (value: any) => void
      • thisObject: any
      • Optionalnext: Watcher

      Returns Watcher

      Egret 2.4

      eui 1.0

      Web

      zh_CN

    • 创建并启动 Watcher 实例。注意:Watcher 只能监视 host 为 IEventDispatcher 对象的属性改变。若属性链中某个属性所对应的实例不是 IEventDispatcher, 则属性链中在它之后的属性改变将无法检测到。

      Parameters

      • host: any

        用于承载要监视的属性或属性链的对象。 创建Watcher实例后,您可以利用reset()方法更改host参数的值。 当prop改变的时候,会使得host对应的一系列handlers被触发。

      • chain: string[]

        用于指定要监视的属性链的值。例如,要监视属性 host.a.b.c,需按以下形式调用此方法:watch¬(host, ["a","b","c"], ...)。

      • handler: (value: any) => void

        在监视的目标属性链中任何属性的值发生改变时调用的事件处理函数。

      • thisObject: any

        handler 方法绑定的this对象

      Returns Watcher

      如果已为 chain 参数至少指定了一个属性名称,则返回 Watcher 实例;否则返回 null。

      Egret 2.4

      eui 1.0

      Web

      zh_CN

    • 从当前宿主中断开此 Watcher 实例及其处理函数。

      Returns void

      Egret 2.4

      eui 1.0

      Web

      zh_CN

    • 检索观察的属性或属性链的当前值,当宿主对象为空时此值为空。

      Returns any

      <pre>
      watch(obj, ["a","b","c"], ...).getValue() === obj.a.b.c
      </pre>

      Egret 2.4

      eui 1.0

      Web

      zh_CN

    • 设置处理函数。

      Parameters

      • handler: (value: any) => void

        处理函数,此参数必须为非空。

      • thisObject: any

      Returns void

      Egret 2.4

      eui 1.0

      Web

      zh_CN

    • 重置此 Watcher 实例使用新的宿主对象。 您可以通过该方法实现一个Watcher实例用于不同的宿主。

      Parameters

      • newHost: IEventDispatcher

      Returns void

      Egret 2.4

      eui 1.0

      Web

      zh_CN