//Task.as
package
{
public class Task
{
[Bindable]
public var _name:String;
public function Task( name:String)
{
_name = name;
}
}
}
//mxml
private var _sum:int=0;
[Bindable]
private var task:Task = new Task("fx:Script");
[Bindable]
public function get sum():int
{
return _sum;
}
public function set sum(value:int):void
{
_sum = value;
}
<s:TextInput x="422" y="116" id="inputOne" text="{task._name}">
<s:Label x="62" y="49" width="137" height="27" text="{sum}" id="label"/>
对象成员要申明为[Bindable],对象也要申明为[Bindable],然后进行数据绑定。
getter/setter 函数申明为[Bindable]也可以进行数据绑定,
<s:TextInput id="inputOne" text="@{inputTwo.text}" />
<s:TextInput id="inputTwo" />
代码中的text="@{inputTwo.text}"就实现了双向绑定。
<fx:Binding source="inputOne.text" destination="inputTwo.text" twoWay="true"/>
twoWay="true"表示双向绑定。