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

Flex綁定機(jī)制用法揭秘

開發(fā) 后端
Flex綁定機(jī)制你是否了解,F(xiàn)lex綁定的原理就是事件,在被Flex綁定的對象上增加了改變事件的監(jiān)聽,F(xiàn)lex綁定其實(shí)也是事件機(jī)制的運(yùn)用。

在學(xué)習(xí)Flex的過程中,你可能會遇到Flex綁定機(jī)制的概念,這里和大家分享一下,在我們了解了事件機(jī)制后,那么理解Flex綁定就不難了,F(xiàn)lex綁定其實(shí)也是事件機(jī)制的運(yùn)用。

Flex綁定機(jī)制

在我們了解了事件機(jī)制后,那么理解Flex綁定就不難了,F(xiàn)lex綁定其實(shí)也是事件機(jī)制的運(yùn)用。

1.什么是Flex綁定

Flex綁定的原理就是事件,在被Flex綁定的對象上增加了改變事件的監(jiān)聽,一旦某個被Flex綁定對象改變后,就會分發(fā)一個“propertyChange”事件(默認(rèn)的,也可以改變成自己定義的事件),在其他組件中,會有propertyChange的事件監(jiān)聽,當(dāng)捕捉到該事件后,則會去更新組件的屬性并顯示。

Flex綁定的作用在于,將Flex中的變量、類、方法等與組件的值進(jìn)行Flex綁定。例如,一個變量如果被Flex綁定后,那么引用該變量的組件的相關(guān)屬性也會發(fā)生改變。我們用一個實(shí)例來表示

  1. <?xmlversionxmlversion="1.0"encoding="utf-8"?> 
  2. <mx:Applicationxmlns:mxmx:Applicationxmlns:mx=http://www.adobe.com/2006/mxmllayout="absolute"xmlns:comp  
  3. > 
  4. <mx:Script> 
  5. <![CDATA[  
  6. importmx.controls.Alert;  
  7. [Bindable]  
  8. privatevarisSelected:Boolean;  
  9. privatefunctionclickHandler(e:MouseEvent){  
  10. //Alert.show(e.currentTarget.toString());  
  11. isSelected=isSelected?false:true;//這句話的意思是如果isSelected為true,改變它為false,如果它為false,改變它為true;  
  12. Alert.show(isSelected.toString());  
  13. }  
  14. ]]> 
  15. </mx:Script> 
  16. <mx:Buttonidmx:Buttonid="testBtn"click="clickHandler(event)"label="測試"/> 
  17. <mx:CheckBoxxmx:CheckBoxx="60"selected="{isSelected}"/> 
  18. </mx:Application> 
  19.  

 上述程序的效果就是,當(dāng)點(diǎn)擊button時,button不是直接改變checkbox的選中狀態(tài),而是改變isSelected這個變量,由于isSelected是被Flex綁定了的,那么會關(guān)聯(lián)的改變CheckBox的選中狀態(tài)。

這樣看起來有些多此一舉,完全可以直接改變checkbox的selected屬性,我只是為了演示一下效果。如果說你的checkbox是動態(tài)構(gòu)造的上百個,你不會去一個個的改變他吧。

◆因此,我們多數(shù)會將一個數(shù)據(jù)源進(jìn)行Flex綁定聲明,這樣引用了這個數(shù)據(jù)源的控件,比如datagrid,在數(shù)據(jù)源發(fā)生了改變時,即使你不重新設(shè)置dataProvider,列表的數(shù)據(jù)也會刷新。當(dāng)然,還有很多應(yīng)用等待你去嘗試。

如果這個代碼中取消了[Bindable]的聲明,會怎么樣?isSelected不會改變了嗎?

isSelected會改變,我們alert出來的結(jié)果也會顯示結(jié)果改變了,但是checkbox的選擇狀態(tài)不會改變,因為當(dāng)一個組件由創(chuàng)建到最終顯示出來時是經(jīng)過很多方法的,比如addChild,commitProperties,updateDisplayList等,updataDisplayList則是類似刷新顯示效果一樣的方法。

僅僅改變屬性,而不去更新顯示效果那么組件不會因為屬性的改變而發(fā)生任何變化。Flex綁定的原理也是利用的事件分發(fā),更復(fù)雜的Flex綁定有待你去自己發(fā)現(xiàn)了。

【編輯推薦】

  1. 解析Flex事件機(jī)制中Flex事件分發(fā)和監(jiān)聽
  2. FlexBuilder4十大新特性閃亮登場
  3. Flex框架中Cairngorm和Mate的優(yōu)點(diǎn)大比拼
  4. FlexBuilder3.0與Eclipse3.4的***結(jié)合
  5. 解析Flex應(yīng)用開發(fā)步驟 新特性和技術(shù)框架 
責(zé)任編輯:佚名 來源: accptech.com
相關(guān)推薦

2010-08-06 09:45:50

Flex事件機(jī)制

2010-08-13 14:19:44

Flex綁定機(jī)制

2010-08-04 14:07:59

Flex事件機(jī)制

2010-08-13 11:21:31

Flex渲染器

2010-08-09 15:09:27

Flex數(shù)據(jù)訪問

2010-07-28 13:31:10

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

2010-07-28 13:11:13

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

2010-08-09 10:34:05

Flex背景

2010-08-13 09:47:58

Flex樣式定義

2010-07-27 10:54:22

Flex

2010-07-29 15:09:19

Flex全屏

2010-07-28 15:29:18

Flex函數(shù)

2010-08-09 10:39:14

FlexACtionSCrip

2010-08-11 11:17:49

FlexFlash

2010-08-12 12:55:02

FlexFlash

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-27 15:28:02

Flex DataBi

2010-07-27 16:03:42

Flex
點(diǎn)贊
收藏

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