版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/3132767
Flex3學習筆記5
Flex3資料綁定
資料綁定是Flex非常棒的特征之一,它給了輕易傳遞資訊的能力。
資料綁定:當資料源對象的資料發生變化時,目标對象的資料會自動更新,而不需要再編寫代碼去強制更新。
綁定實際也是借助事件機制來完成的,當目标使用了資料綁定的時候,目标對象就會監聽資料源對象的某一固定事件。當資料源發生變化時,資料源會派發改變事件(ChangeEvent),通知目标對象更新資料。這個過程由Flex完成,不需手動幹預。
綁定的前提條件:源對象的資料和目标對象的資料格式相同。
1、在對象的屬性标簽中,使用{ }把資料源直接綁定到對象的某個屬性上。
如:
- <mx:TextInput id="helloTextInput" text="Hello, World" />
- <mx:Label text="{helloTextInput.text}" />
你還可以建立兩個字元串變量,并綁定其中一個的值到Label标簽上:
- <mx:String id="firstName">Alaric</mx:String>
- <mx:String id="lastName">Cole</mx:String>
- <mx:Label id="nameLabel" text="{firstName}" />
綁定到多個目的标簽的情況:
- <mx:String id="displayName">Jed90210</mx:String>
- <mx:Label id="nameLabel" text="{displayName}" />
- <mx:Button id="nameButton" label="{displayName}" />
還可以進行字元串的串聯,如:
- <mx:Label text="{'Hello, '+displayName}" />
更為複雜的字元串串聯情況:
- <mx:Label text="{'Hello, '+firstName+' '+lastName}" />
還有一種等價的方法,如下:
- <mx:Label text="Hello, {firstName} {lastName}" />
使用花括号進行計算,如下:
- <mx:Label text="Eleven times forty-two equals {11*42}" />
或者是:
- <mx:Label text="Hey {firstName}, eleven times forty-two equals {11*42}" />
2、在對象的屬性标簽中,使用{ }把某個函數的傳回值作為資料源綁定到對象屬性上。
函數的參數要使用[Bindable]綁定符号
[Bindable]
[Bindable(event="eventname")]
Event表示當資料源發生變化時,資料源所在對象派發的事件類型,它是可選項,預設的事件名是“propertyChange”,一般情況下隻需要使用[Bindable]标簽。