コンパイラーによって実装される <fx:Binding> タグ
<fx:Binding> タグを使用して、あるオブジェクト内のデータを別のオブジェクトに連携します。<fx:Binding> タグを使用するときは、source プロパティと destination プロパティを指定します。<fx:Binding> タグを使用すると、ビューやユーザーインターフェイスをモデルから完全に切り離すことができます。また、<fx:Binding> タグによって、異なる source プロパティを同一の destination プロパティにバインドできます。
MXML シンタックス
<fx:Binding> タグのシンタックスは次のとおりです。
<fx:Binding source="No default." destination="No default" />
例えば、次のように、1 つのフォームの名前フィールドの text
プロパティを、別のフォームの名前フィールドの text
プロパティにバインドすることもできます。
<fx:Binding source="billForm.name.text" destination="shipform.name.text" />
2 つのオブジェクトが互いにソースとターゲットとして機能する場合、双方向、または 2 方向のデータバインディングが行われます。いずれかのオブジェクトのソースプロパティを変更すると、もう一方のオブジェクトのターゲットプロパティが更新されます。
以下のいずれかの方法で、双方向のデータバインディングを定義します。
1. もう一方のオブジェクトのソースプロパティとして指定する 2 つのオブジェクトを定義します。次の例では、input1 は input2.text をソースプロパティとして指定し、input2 は input1.text をソースプロパティとして指定しています。input1.text を変更すると input2.text が更新され、input2.text を変更すると input1.text が更新されます。
<!-- Specify data binding for both controls. --> <s:TextInput id="input1" text="{input2.text}"/> <s:TextInput id="input2" text="{input1.text}"/>
2. 次の例のように、1 つのソースプロパティに @{bindable_property} のシンタックスを使用します。
<!-- Specify data binding for both controls. --> <s:TextInput id="input1" text="@{input2.text}"/> <s:TextInput id="input2"/>
注意:@{bindable_property} のシンタックスを含むプロパティ定義は、主要なプロパティと呼ばれます。主要なプロパティに割り当てられている値がない場合は、そのプロパティへのバインディングが最初に行われ、その後で別のプロパティへのバインディングが行われます。
3. 次の例のように、<fx:Binding> タグの twoWay
プロパティを使用します。
<fx:Binding source="input1.text" destination="input2.text" twoWay="true/>
Tue Jun 12 2018, 10:52 AM Z