绑定确实通过事件调度工作.通过将-keep标志添加到编译器设置,您可以从生成的Actionscript代码中学到很多东西.
我会尽力回答你的问题.
编译器将获取[Bindable]元数据标记,并为您标记为可绑定的每个属性创建一个getter和setter.getter只返回属性的值.setter将检查新值是否与原始值不同,如果有,则将调度PropertyChange事件.
与基本属性相同,现在只创建静态getter和setter.此外,还会创建一个mx.binding.StaticPropertyWatcher来监视静态属性的更改.
绑定到静态方法时,会收到以下警告:"[Bindable]在应用于不是getter或setter的函数时需要一个事件名称参数." 描述几乎说明了一切.由于您没有专门为此方法触发的"propertyChange"事件,因此您必须自行调度自定义事件.那是[Bindable(event ="customEvent")]然后从你班级的某个地方派遣那个事件.