Flex 的数据绑定观察
自己写的,其实没有大的意义但是,自己也研究了近一个下午,所以记录下;
需求是,一个绑定的对象的时间字段改变,更新另外一个字段
由于Label没有change事件,所以不 能对label绑定,
网上的案例是textInput,虽然正常但是和需求不符
首先是官网文档
host:Object — 用于承载要监视的属性或属性链的对象。创建 ChangeWatcher 实例后,您可以使用 reset() 方法更改 host 参数的值。 chain:Object — 用于指定要监视的属性或属性链的值。合法值包括: 包含宿主对象公用可绑定属性名称的 String。 以下格式的 Object:{ name: 属性名, getter: function(host) { return host[name] } }。此 Object 包含一个公用可绑定属性的名称以及一个充当该属性的 getter 的函数。 包含前两种选项的任意组合的非空 Array。这代表可从宿主访问的可绑定属性链。例如,要观察属性 host.a.b.c,需按以下形式调用此方法:watch(host, ["a","b","c"], ...)。
?其实是自己理解错误,需求是对y的改变进行监控
【Bindable】var obj:Object = new Object();obj.x = new Object();obj.x.y = 6;
?一开始自己写的是
ChangeWatcher.watch(obj,x.y,getCurrentLoaction);
?但是无论如何都不成功,
后来改成正确的写法是
ChangeWatcher.watch(pbj,["x","y"],propertyChange
);
?其实看看API就可以的事,还是自己不细心,所以mark下