[Flex]Flex SDK 4(Gumbo)双向绑定(bidirectional bindings)

本篇文章是《Flash Builder 4 beta (Gumbo) UI、功能的新体验》第四篇文章,着重介绍的Flex SDK 4(Gumbo)新增加的功能:双向绑定bidirectional bindings

关于Flash Builder 4 beta (Gumbo) UI、功能的新体验系列文章请看:
http://www.k-zone.cn/zblog/catalog.asp?tags=FB4%E6%96%B0%E4%BD%93%E9%AA%8C

okay,通过以下几个例子来说明什么是双向绑定( bidirectional bindings
我有两个TextInput的组件,现在想要如下的结果,当对第一个组件赋值后,第二个组件也会被赋值,即这两个组件的值应该是相等的。

Flex SDK 4(Gumbo)以前的做法:
<!-- Specify data binding for both controls. -->  
<mx:TextInput id="input1" text="{input2.text}"/>  
<mx:TextInput id="input2" text="{input1.text}"/> 

Flex SDK 4(Gumbo)的做法:
<mx:TextInput id="input1" text="@{input2.text}"/>  
<mx:TextInput id="input2"/>

第三种做法,使用<fx:Binding>:
<fx:Binding source="input1.text" destination="input2.text" twoWay="true"/>

注意一下红色的地方,这个地方的写法就是双向绑定( bidirectional bindings的写法了。
虽然双向绑定( bidirectional bindings可以给我们带来很多便利的方式,但是这个方式也不是万能的。

以下说明了在什么场合下无法使用双向绑定(bidirectional bindings):
1、Style properties(组件的style属性)
2、Effect properties(组件的effect属性)
3、The request property of the HttpService, RemoteObject, and WebService classes(HttpService, RemoteObject, and WebService的请求属性)
4、The arguments property of the RemoteObject class(RemoteObject的参数)
以上四种情况下,双向绑定( bidirectional bindings)是无法使用的。

以上就是关于双向绑定( bidirectional bindings的一些知识点了,希望对各位有用:)