您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Flex綁定機制的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
Flex綁定機制
在我們了解了事件機制后,那么理解Flex綁定就不難了,Flex綁定其實也是事件機制的運用。
1.什么是Flex綁定
Flex綁定的原理就是事件,在被Flex綁定的對象上增加了改變事件的監聽,一旦某個被Flex綁定對象改變后,就會分發一個“propertyChange”事件(默認的,也可以改變成自己定義的事件),在其他組件中,會有propertyChange的事件監聽,當捕捉到該事件后,則會去更新組件的屬性并顯示。
Flex綁定的作用在于,將Flex中的變量、類、方法等與組件的值進行Flex綁定。例如,一個變量如果被Flex綁定后,那么引用該變量的組件的相關屬性也會發生改變。我們用一個實例來表示
<?xmlversionxmlversion="1.0"encoding="utf-8"?> <mx:Applicationxmlns:mxmx:Applicationxmlns:mx=http://www.adobe.com/2006/mxmllayout="absolute"xmlns:comp > <mx:Script> <![CDATA[ importmx.controls.Alert; [Bindable] privatevarisSelected:Boolean; privatefunctionclickHandler(e:MouseEvent){ //Alert.show(e.currentTarget.toString()); isSelected=isSelected?false:true;//這句話的意思是如果isSelected為true,改變它為false,如果它為false,改變它為true; Alert.show(isSelected.toString()); } ]]> </mx:Script> <mx:Buttonidmx:Buttonid="testBtn"click="clickHandler(event)"label="測試"/> <mx:CheckBoxxmx:CheckBoxx="60"selected="{isSelected}"/> </mx:Application>
上述程序的效果就是,當點擊button時,button不是直接改變checkbox的選中狀態,而是改變isSelected這個變量,由于isSelected是被Flex綁定了的,那么會關聯的改變CheckBox的選中狀態。
這樣看起來有些多此一舉,完全可以直接改變checkbox的selected屬性,我只是為了演示一下效果。如果說你的checkbox是動態構造的上百個,你不會去一個個的改變他吧。
◆因此,我們多數會將一個數據源進行Flex綁定聲明,這樣引用了這個數據源的控件,比如datagrid,在數據源發生了改變時,即使你不重新設置dataProvider,列表的數據也會刷新。當然,還有很多應用等待你去嘗試。
如果這個代碼中取消了[Bindable]的聲明,會怎么樣?isSelected不會改變了嗎?
isSelected會改變,我們alert出來的結果也會顯示結果改變了,但是checkbox的選擇狀態不會改變,因為當一個組件由創建到最終顯示出來時是經過很多方法的,比如addChild,commitProperties,updateDisplayList等,updataDisplayList則是類似刷新顯示效果一樣的方法。
僅僅改變屬性,而不去更新顯示效果那么組件不會因為屬性的改變而發生任何變化。Flex綁定的原理也是利用的事件分發,更復雜的Flex綁定有待你去自己發現了。
感謝各位的閱讀!關于“Flex綁定機制的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。