首先:[Bindable]标签用来标识那些变量、类是可以被绑定的,不过我觉得只是个标签,恩没有貌似也行。下面直接介绍绑定方法:
- {xx} 大括号绑定
在大括号中标明数据来源,也就是你绑定的谁。例如
label中就会显示 show s 再带上你在TextInput中输入的文字~,怎么样,简单吧。
- MXML Binding标签绑定
一个道理,只是要设置数据源与绑定目标。
<mx:Binding source="a.text" destination="b.text" />
如此一来,在a中输入文字(假设a、b是两个textinput的id号),那b中自动与a中文字绑定显示。
当然,引号之中的值可以自定义,可以是任意合法的字符串的拼接表达式,类似大括号{}方法其实。比如" 'KK' + a.txt + '!' ",还可以接受返回string类型的函数,这也是理所当然的。还有双向绑定,复杂不实用,,这里不介绍啦。真正需要用的时候再看看得了。
- ActionScript绑定
类:mx.binding.utils.BindingUtils;它提供了绑定数据的方法bindProperty()。
而该方法返回一个连接器(观察器)类ChangeWatcher对象。
bindPropterty(1,2,3,4);第一个参数表示绑定者对象,2参数表示绑定者绑定的具体某属性(text等),3参数表示宿主也就是被绑定者对象,参数4就是宿主的属性咯。例如把label1的text绑定到label2的text上,让1随着2改变而改变:
bindPropterty(label1, "text", label2, "text"); 很简单..
返回对象连接器可以用来控制,是否断开连接,重新设置宿主等功能。具体看API吧。
若绑定的对象其属性需要夸多层调用,比如view.form1.uname.text,那属性就设置成一个数组形式["view","form1","uname","text"]。 恩很容易理解的方式~
那当然除了可以绑定属性,还可以绑定函数。比如某属性变了,就自动调用某函数:BindSetter()!挺好~像是事件一样。