收听对弹性日期对象所做的更改

时间:2011-11-24 12:16:11

标签: actionscript-3 data-binding date flex4

我有一个日期对象,我想听听它所做的任何更改。可以通过直接分配另一个日期对象来进行更改

var newDate:Date = new Date(2009,10,9);
date = newDate;

并使用

date.setTime(timeInMilliSeconds)

我尝试使用BindingUtils.bindsetter:

var myWatcher:ChangeWatcher = BindingUtils.bindSetter(updateDate,date,"time");

private function updateDate(value:Number):void
{
    trace(value);
}

但这似乎不起作用。我想知道我做错了什么,或者是否还有其他方法可以做到这一点。

谢谢!

2 个答案:

答案 0 :(得分:2)

您必须先创建一个可绑定变量,然后才能观察它(或者您需要自己为其调度更改事件)。

答案 1 :(得分:0)

您可以使用PropertyChange / PropertyChangeEvent机制。

objectProxy = new ObjectProxy(newDate);
objectProxy.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, propertyChangeHandler);

private function propertyChangeHandler(evt:PropertyChangeEvent):void {
    // Do what you want
}

上面的代码摘自blog.flexexamples.com中的示例。