跳到主要内容

eui.Binding

   eui

   public class Binding

绑定工具类,用于执行数据绑定用的方法集。您可以使用此类中定义的方法来配置数据绑定。

公共方法

方法
bindHandler(host:any,chain:string[],handler:(value:any)=>void,thisObject:any):eui.Watcher
[静态]绑定一个回调函数到要监视的对象属性上
bindProperty(host:any,chain:string[],target:any,prop:string):eui.Watcher
[静态]绑定一个对象的属性值到要监视的对象属性上

方法详细信息

bindHandler()

public bindHandler(host:any,chain:string[],handler:(value:any)=>void,thisObject:any):eui.Watcher

绑定一个回调函数到要监视的对象属性上。当 host上 chain 所对应的值发生改变时,handler 方法将被自动调用。

  • 支持版本:eui 1.0

  • 运行平台:Web,Native

  • 参数

    • host:any - 用于承载要监视的属性或属性链的对象。
    • chain:string[] - 用于指定要监视的属性链的值。例如,要监视属性 host.a.b.c,需按以下形式调用此方法:bindSetter(host, ["a","b","c"], ...)。
    • handler:(value:any)=>void - 在监视的目标属性链中任何属性的值发生改变时调用的事件处理函数。
    • thisObject:any - handler 方法绑定的this对象
  • 返回:如果已为 chain 参数至少指定了一个属性名称,则返回 Watcher 实例;否则返回 null。

bindProperty()

public bindProperty(host:any,chain:string[],target:any,prop:string):eui.Watcher

绑定一个对象的属性值到要监视的对象属性上。

  • 支持版本:eui 1.0

  • 运行平台:Web,Native

  • 参数

    • host:any - 用于承载要监视的属性或属性链的对象。当 hostchain所对应的值发生改变时,target上的prop属性将被自动更新。
    • chain:string[] - 用于指定要监视的属性链的值。例如,要监视属性 host.a.b.c,需按以下形式调用此方法:bindProperty(host, ["a","b","c"], ...)。
    • target:any - 本次绑定要更新的目标对象。
    • prop:string - 本次绑定要更新的目标属性名称。
  • 返回:如果已为 chain 参数至少指定了一个属性名称,则返回 Watcher 实例;否则返回 null。

示例

**

* 以下示例使用 BindingExample 类来说明如何执行数据绑定

*/

class BindingExample extends egret.Sprite {

public porp: number = 789;

public porp2: number = 456;

constructor() {

super();

eui.Binding.bindProperty(this, ["porp"], this, "porp2");

eui.Binding.bindHandler(this, ["porp"], this.watcherHander, this);

this.porp = 666;

this.porp = 123;

}

public watcherHander(value: any): void {

egret.log("watcherHander:" + " " + value + " " + this.porp + " " + this.porp2);

}

}