自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

學(xué)習(xí)筆記 如何將對象用于Flex數(shù)據(jù)綁定

開發(fā) 后端
本文向大家介紹一下如何將對象用于Flex數(shù)據(jù)綁定,F(xiàn)lex數(shù)據(jù)綁定是將一個對象中的數(shù)據(jù)同另一個對象中的數(shù)據(jù)聯(lián)系在一起的過程。

本文和大家重點討論一下如何將對象用于Flex數(shù)據(jù)綁定,當(dāng)使用對象進行工作時,不得不考慮什么時候定義到這個對象的綁定?或者考慮什么時候定義一個到這個對象屬性的綁定?

將對象用于Flex數(shù)據(jù)綁定

當(dāng)使用對象進行工作時,不得不考慮什么時候定義到這個對象的綁定?或者考慮什么時候定義一個到這個對象屬性的綁定?

綁定到對象

當(dāng)使一個對象成為Flex數(shù)據(jù)綁定表達式的源時,F(xiàn)lex數(shù)據(jù)綁定發(fā)生在這個對象被更新之時,或者這個對象的引用被更新之時,但不能發(fā)生在這個對象的單個(數(shù)據(jù))域(feild)被更新之時。
下面的范例中,創(chuàng)建了Object類的子類,這個子類帶有兩個屬性,stringProp和intProp,但沒有使這兩個屬性成為可綁定屬性:
 

  1. packagemyComponents  
  2. {  
  3. //binding/myComponents/NonBindableObject.as  
  4. //Makenoclasspropertiesbindable.  
  5. publicclassNonBindableObjectextendsObject{  
  6. publicfunctionNonBindableObject(){  
  7. super();  
  8. }  
  9. publicvarstringProp:String="Stringproperty";  
  10. publicvarintProp:int=52;  
  11. }  
  12. }  

因為這個類的兩個屬性不是可綁定屬性,當(dāng)它們被更新時Flex不會發(fā)出事件去觸發(fā)Flex數(shù)據(jù)綁定。接下來在Flex應(yīng)用中使用這個類,如下面的范例所示:
 

  1. <?xmlversionxmlversion="1.0"?> 
  2.  
  3. <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml" 
  4. creationComplete="initObj();"> 
  5.  
  6. <![CDATA[  
  7. importmyComponents.NonBindableObject;  
  8. [Bindable]  
  9. publicvarmyObj:NonBindableObject=newNonBindableObject();  
  10. [Bindable]  
  11. publicvaranotherObj:NonBindableObject=  
  12. newNonBindableObject();  
  13. publicfunctioninitObj():void{  
  14. anotherObj.stringProp='anotherObject';  
  15. anotherObj.intProp=8;  
  16. }  
  17. ]]> 
  18.  
  19. <mx:Buttonlabelmx:Buttonlabel="ChangemyObj.stringProp" 
  20. click="myObj.stringProp='newstring';"/> 
  21.  
  22. <mx:Buttonlabelmx:Buttonlabel="ChangemyObj.intProp" 
  23. click="myObj.intProp=10;"/> 
  24.  
  25. <mx:Buttonlabelmx:Buttonlabel="ChangemyObj" 
  26. click="myObj=anotherObj;"/> 
  27.  

 因為沒有使NonBindableObject類的單個數(shù)據(jù)域(fields)成為可綁定屬性,所以應(yīng)用在兩個Text控件的綁定在應(yīng)用啟動時以及在myObj被更新時才會被更新。在編譯這個應(yīng)用時,編譯器會輸出警告信息,提示Flex數(shù)據(jù)綁定機制不能檢測stringProp和intProp屬性的變化。

綁定到對象的屬性

為了使對象的屬性可綁定,要創(chuàng)建新的類定義,如下面的范例所示:
 

  1. packagemyComponents  
  2. {  
  3. //binding/myComponents/BindableObject.as  
  4. //Makeallclasspropertiesbindable.  
  5. [Bindable]  
  6. publicclassBindableObjectextendsObject{  
  7. publicfunctionBindableObject(){  
  8. super();  
  9. }  
  10. publicvarstringProp:String="Stringproperty";  
  11. publicvarintProp:int=52;  
  12. }  
  13. }  

通過在類定義之前放置[Bindable]元數(shù)據(jù)標(biāo)記,就可以使得類中所有public變量、以及所有完全具備setter及getter的public屬性成為可綁定的屬性。接下來就可以使用stringProp和intProp屬性作為Flex數(shù)據(jù)綁定的源,如下范例所示:

  1. <?xmlversionxmlversion="1.0"?> 
  2.  
  3. <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml" 
  4. creationComplete="initObj();"> 
  5.  
  6. <![CDATA[  
  7. importmyComponents.BindableObject;  
  8. [Bindable]  
  9. publicvarmyObj:BindableObject=newBindableObject();  
  10. [Bindable]  
  11. publicvaranotherObj:BindableObject=  
  12. newBindableObject();  
  13. publicfunctioninitObj():void{  
  14. anotherObj.stringProp='anotherObject';  
  15. anotherObj.intProp=8;  
  16. }  
  17. ]]> 
  18.  
  19. <mx:Buttonlabelmx:Buttonlabel="ChangemyObj.stringProp" 
  20. click="myObj.stringProp='newstring';"/> 
  21.  
  22. <mx:Buttonlabelmx:Buttonlabel="ChangemyObj.intProp" 
  23. click="myObj.intProp=10;"/> 
  24.  
  25. <mx:Buttonlabelmx:Buttonlabel="ChangemyObj" 
  26. click="myObj=anotherObj;"/> 

【編輯推薦】

  1. Flex數(shù)據(jù)綁定中綁定到函數(shù)、對象和數(shù)組
  2. 在Flex數(shù)據(jù)綁定中使用數(shù)組
  3. 術(shù)語匯編 Flex數(shù)據(jù)綁定概述
  4. 解析Flex全屏模式設(shè)置方法
  5. Flex內(nèi)存泄露解決方法和內(nèi)存釋放優(yōu)化原則

 

責(zé)任編輯:佚名 來源: myspace.com
相關(guān)推薦

2010-08-12 11:05:33

Flex數(shù)據(jù)綁定

2010-08-11 15:35:47

Flex DataGr

2010-07-30 09:28:09

Flex數(shù)據(jù)綁定

2010-08-04 09:26:27

Flex數(shù)據(jù)

2010-07-30 10:45:08

Flex數(shù)據(jù)綁定

2010-08-11 15:51:45

Flex DataGr

2010-08-10 16:41:54

FlexJSP

2010-07-27 10:39:25

Flex組件

2010-07-28 13:31:10

Flex數(shù)據(jù)綁定

2010-08-11 08:44:01

Flex對象

2010-07-28 13:11:13

Flex數(shù)據(jù)綁定

2023-02-17 12:07:45

ChatGPTPython

2010-08-12 11:34:15

Flex數(shù)據(jù)綁定

2010-07-30 09:08:21

Flex數(shù)據(jù)綁定

2010-08-05 15:06:19

Flex數(shù)據(jù)綁定

2010-07-30 13:08:38

Flex調(diào)用JavaS

2010-08-10 15:26:38

Flex應(yīng)用程序

2010-07-30 13:52:17

Flex組件

2010-08-10 10:56:39

2010-07-28 13:40:44

Flex數(shù)據(jù)綁定
點贊
收藏

51CTO技術(shù)棧公眾號