綁定的作用在于,將Flex中的變量、類、方法等與組件的值進(jìn)行綁定。例如,一個(gè)變量如果被綁定后,那么引用該變量的組件的相關(guān)屬性也會(huì)發(fā)生改變。我們用一個(gè)實(shí)例來表示
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx=http://www.adobe.com/2006/mxml layout="absolute" xmlns:components="components.*"
? ? ? >
? ? ? <mx:Script>
? ? ? ? ???<![CDATA[
? ? ? ? ? ? ? ???import mx.controls.Alert;? ? ? ? ? ?
? ? ? ? ? ? ? ???[Bindable]
? ? ? ? ? ? ? ???private var isSelected:Boolean;
? ? ? ? ? ? ? ???private function clickHandler(e:MouseEvent){
? ? ? ? ? ? ? ???//Alert.show(e.currentTarget.toString());
???????????????? isSelected=isSelected?false:true; //這句話的意思是如果isSelected為true,改變它為false,如果它為false,改變它為true;
?????????????????Alert.show(isSelected.toString());
? ? ? ? ? ? ? ???}
? ? ? ? ???]]>
? ? ? </mx:Script>
? ? ? <mx:Button id="testBtn"? click="clickHandler(event)" label="測(cè)試" />
? ? ? <mx:CheckBox x="60" selected="{isSelected}" />
</mx:Application>
上述程序的效果就是,當(dāng)點(diǎn)擊button時(shí),button不是直接改變checkbox的選中狀態(tài),而是改變isSelected這個(gè)變量,由于isSelected是被綁定了的,那么會(huì)關(guān)聯(lián)的改變CheckBox的選中狀態(tài)。
這樣看起來有些多此一舉,完全可以直接改變checkbox的selected屬性,我只是為了演示一下效果。如果說你的checkbox是動(dòng)態(tài)構(gòu)造的上百個(gè),你不會(huì)去一個(gè)個(gè)的改變他吧。
因此,我們多數(shù)會(huì)將一個(gè)數(shù)據(jù)源進(jìn)行綁定聲明,這樣引用了這個(gè)數(shù)據(jù)源的控件,比如datagrid,在數(shù)據(jù)源發(fā)生了改變時(shí),即使你不重新設(shè)置dataProvider,列表的數(shù)據(jù)也會(huì)刷新。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx=http://www.adobe.com/2006/mxml layout="absolute" xmlns:components="components.*"
? ? ? >
? ? ? <mx:Script>
? ? ? ? ???<![CDATA[
? ? ? ? ? ? ? ???import mx.controls.Alert;? ? ? ? ? ?
? ? ? ? ? ? ? ???[Bindable]
? ? ? ? ? ? ? ???private var isSelected:Boolean;
? ? ? ? ? ? ? ???private function clickHandler(e:MouseEvent){
? ? ? ? ? ? ? ???//Alert.show(e.currentTarget.toString());
???????????????? isSelected=isSelected?false:true; //這句話的意思是如果isSelected為true,改變它為false,如果它為false,改變它為true;
?????????????????Alert.show(isSelected.toString());
? ? ? ? ? ? ? ???}
? ? ? ? ???]]>
? ? ? </mx:Script>
? ? ? <mx:Button id="testBtn"? click="clickHandler(event)" label="測(cè)試" />
? ? ? <mx:CheckBox x="60" selected="{isSelected}" />
</mx:Application>
上述程序的效果就是,當(dāng)點(diǎn)擊button時(shí),button不是直接改變checkbox的選中狀態(tài),而是改變isSelected這個(gè)變量,由于isSelected是被綁定了的,那么會(huì)關(guān)聯(lián)的改變CheckBox的選中狀態(tài)。
這樣看起來有些多此一舉,完全可以直接改變checkbox的selected屬性,我只是為了演示一下效果。如果說你的checkbox是動(dòng)態(tài)構(gòu)造的上百個(gè),你不會(huì)去一個(gè)個(gè)的改變他吧。
因此,我們多數(shù)會(huì)將一個(gè)數(shù)據(jù)源進(jìn)行綁定聲明,這樣引用了這個(gè)數(shù)據(jù)源的控件,比如datagrid,在數(shù)據(jù)源發(fā)生了改變時(shí),即使你不重新設(shè)置dataProvider,列表的數(shù)據(jù)也會(huì)刷新。