我正在寻找一种方法来将PropertyChangeEvent添加到我定义的对象中。目标是在对象的任何属性发生更改时引发更改事件。
所以我可以做类似下面的事情
var newItem:MyObject = new MyObject();
newItem.addEventListener(event.PropertyChangeEvent, myO_PropertyChangeHandler);
答案 0 :(得分:3)
class MyObject extends EventDispatcher
{
public function doSomething() :void
{
// change values, and dispatch event
dispatchEvent( PropertyChangeEvent.createUpdateEvent( this, "myProperty", oldValue, newValue ) );
}
}
如果您无法扩展EventDispatcher
,因为您的对象扩展了其他内容,并且该超类不是EventDispatcher
的子类型或实现IEventDispatcher
(包括大多数类型),您需要手动实施IEventDispatcher
。请参阅IEventDispatcher
的帮助页面,了解有关如何执行此操作的示例代码(例如,内部EventDispatcher
执行实际工作)。
答案 1 :(得分:2)
如果我理解正确,您正在寻找Bindable元标记。