我遇到了一些奇怪的事情,但也许其他人之前遇到过这个。
我有一个基类,它不会扩展任何东西。我们称之为......
public class FooBar {
//...
}
但是我想绑定它的每一个暴露属性:
[Bindable] public class FooBar {
public var propertyOne:String;
public var propertyTwo:String;
}
在调试/分析类时,我注意到每次更改属性时 - FooBar 的实例在其上调用“ .dispatchEvent()” 。但是我的课程没有扩展 EventDispatcher 。
是什么给出了?
这是否意味着,在编译时,我的类会自动扩展 EventDispatcher 或其他具有调度事件能力的类?如果我的类没有在其中声明“ addEventListener ”方法,我怎么能听 PropertyChangeEvent ?
答案 0 :(得分:3)
当您使用[Bindable]
元数据时,Flex编译器会为您生成大量代码。如果您想知道究竟发生了什么,请查看What does the Flex [Bindable] tag do?的答案以及在那里发布的链接。
回答你的问题:不,你的班级不会延长EventDispatcher
。但是,编译器会更改您的类,以便它实现IEventDispatcher
接口。生成的该接口实现使用EventDispatcher
。