摘要:
在前面的例子中,已经涉及了Flex中数据绑定相关的事件及监听。[Bindable]标记相当于[Bindable(event="propertyChange")],编译器会自动为声明了[Bindable]的对象实现IEventDispatcher,并在声明了[Bindable]的数据发生改变时自动发送“propertyChange”事件。 Flex组件默认添加了PropertyChangeEvent.PROPERTY_CHANGE事件的Listener,当绑定的数据发生改变时会进行更新处理。 如果不使用默认的“propertyChange”,比如声明为[Bindable(ev 阅读全文
摘要:
在上一篇讨论了flex中数据绑定的原理,这里看一下实际的例子,代码如下:test.BindableClass如下:packagetest...{[Bindable]publicclassBindableClass...{publicvarstr:String="width=";}}flex中的数据绑定主要通过mxml中标签的属性定义实现,将属性值设置为用大括号“{}”标识的数据源,则该数据源指向的数据就被绑定到组件的属性上。在上面的例子中,使用了几种数据源: 1. mxml的Script中定义的变量(该变量已声明[Bindable]标记):width="{intV 阅读全文
摘要:
Flex中提供了[Bindable]标签,可以方便的实现数据绑定。但是其背后的原理是什么呢?可以用flash.utils.describeType这个工具来分析。 假设有如下的类,对成员变量声明了数据绑定:packagetest...{importmx.collections.ArrayCollection;publicclassBindablePropertity...{[Bindable]publicvarlist:ArrayCollection=newArrayCollection();}}用flash.utils.describeType输出的xml如下:可以看出,增加了[Binda. 阅读全文