天天看點

Flex3學習筆記5

版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/3132767

Flex3學習筆記5

Flex3資料綁定

資料綁定是Flex非常棒的特征之一,它給了輕易傳遞資訊的能力。

資料綁定:當資料源對象的資料發生變化時,目标對象的資料會自動更新,而不需要再編寫代碼去強制更新。

綁定實際也是借助事件機制來完成的,當目标使用了資料綁定的時候,目标對象就會監聽資料源對象的某一固定事件。當資料源發生變化時,資料源會派發改變事件(ChangeEvent),通知目标對象更新資料。這個過程由Flex完成,不需手動幹預。

綁定的前提條件:源對象的資料和目标對象的資料格式相同。

1、在對象的屬性标簽中,使用{ }把資料源直接綁定到對象的某個屬性上。

如:

  1. <mx:TextInput id="helloTextInput" text="Hello, World" />
  2. <mx:Label text="{helloTextInput.text}" />

你還可以建立兩個字元串變量,并綁定其中一個的值到Label标簽上:

  1. <mx:String id="firstName">Alaric</mx:String>
  2. <mx:String id="lastName">Cole</mx:String>
  3. <mx:Label id="nameLabel" text="{firstName}" />

綁定到多個目的标簽的情況:

  1. <mx:String id="displayName">Jed90210</mx:String>
  2. <mx:Label id="nameLabel" text="{displayName}" />
  3. <mx:Button id="nameButton" label="{displayName}" />

還可以進行字元串的串聯,如:

  1. <mx:Label text="{'Hello, '+displayName}" />

更為複雜的字元串串聯情況:

  1. <mx:Label text="{'Hello, '+firstName+' '+lastName}" />

還有一種等價的方法,如下:

  1. <mx:Label text="Hello, {firstName} {lastName}" />

使用花括号進行計算,如下:

  1. <mx:Label text="Eleven times forty-two equals {11*42}" />

或者是:

  1. <mx:Label text="Hey {firstName}, eleven times forty-two equals {11*42}" />

2、在對象的屬性标簽中,使用{ }把某個函數的傳回值作為資料源綁定到對象屬性上。

函數的參數要使用[Bindable]綁定符号

[Bindable]

[Bindable(event="eventname")]

Event表示當資料源發生變化時,資料源所在對象派發的事件類型,它是可選項,預設的事件名是“propertyChange”,一般情況下隻需要使用[Bindable]标簽。

繼續閱讀