怎么將對(duì)象用于Flex數(shù)據(jù)綁定

這篇文章主要為大家展示了“怎么將對(duì)象用于Flex數(shù)據(jù)綁定”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“怎么將對(duì)象用于Flex數(shù)據(jù)綁定”這篇文章吧。

站在用戶的角度思考問題,與客戶深入溝通,找到富民網(wǎng)站設(shè)計(jì)與富民網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋富民地區(qū)。

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

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

綁定到對(duì)象

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

packagemyComponents  {  //binding/myComponents/NonBindableObject.as  //Makenoclasspropertiesbindable.  publicclassNonBindableObjectextendsObject{  publicfunctionNonBindableObject(){  super();  }  publicvarstringProp:String="Stringproperty";  publicvarintProp:int=52;  }  }

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

<?xmlversionxmlversion="1.0"?>  <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initObj();">  <![CDATA[  importmyComponents.NonBindableObject;  [Bindable]  publicvarmyObj:NonBindableObject=newNonBindableObject();  [Bindable]  publicvaranotherObj:NonBindableObject=  newNonBindableObject();  publicfunctioninitObj():void{  anotherObj.stringProp='anotherObject';  anotherObj.intProp=8;  }  ]]>  <mx:Buttonlabelmx:Buttonlabel="ChangemyObj.stringProp" click="myObj.stringProp='newstring';"/>  <mx:Buttonlabelmx:Buttonlabel="ChangemyObj.intProp" click="myObj.intProp=10;"/>  <mx:Buttonlabelmx:Buttonlabel="ChangemyObj" click="myObj=anotherObj;"/>

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

綁定到對(duì)象的屬性

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

packagemyComponents  {  //binding/myComponents/BindableObject.as  //Makeallclasspropertiesbindable.  [Bindable]  publicclassBindableObjectextendsObject{  publicfunctionBindableObject(){  super();  }  publicvarstringProp:String="Stringproperty";  publicvarintProp:int=52;  }  }

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

<?xmlversionxmlversion="1.0"?>  <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initObj();">  <![CDATA[  importmyComponents.BindableObject;  [Bindable]  publicvarmyObj:BindableObject=newBindableObject();  [Bindable]  publicvaranotherObj:BindableObject=  newBindableObject();  publicfunctioninitObj():void{  anotherObj.stringProp='anotherObject';  anotherObj.intProp=8;  }  ]]>  <mx:Buttonlabelmx:Buttonlabel="ChangemyObj.stringProp" click="myObj.stringProp='newstring';"/>  <mx:Buttonlabelmx:Buttonlabel="ChangemyObj.intProp" click="myObj.intProp=10;"/>  <mx:Buttonlabelmx:Buttonlabel="ChangemyObj" click="myObj=anotherObj;"/>

以上是“怎么將對(duì)象用于Flex數(shù)據(jù)綁定”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站標(biāo)題:怎么將對(duì)象用于Flex數(shù)據(jù)綁定
分享地址:http://www.muchs.cn/article34/gjghse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站維護(hù)、定制網(wǎng)站、搜索引擎優(yōu)化企業(yè)建站、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司