Flex數(shù)據(jù)綁定及其使用頻繁的幾種情況
Flex數(shù)據(jù)綁定有很多值得學(xué)習(xí)的地方,這里向大家簡(jiǎn)單介紹一下Flex數(shù)據(jù)綁定的概念,當(dāng)數(shù)據(jù)源對(duì)象發(fā)生改變時(shí),目標(biāo)對(duì)象的數(shù)據(jù)會(huì)自動(dòng)更新,而不需要我們?cè)倬帉懘a去強(qiáng)制更新,這就是綁定的含義。
Flex數(shù)據(jù)綁定的概念
從字面上看,“綁定”表示將若干個(gè)物體捆綁在一起。使用Flex數(shù)據(jù)綁定時(shí),F(xiàn)lex會(huì)把一個(gè)對(duì)象的數(shù)據(jù)復(fù)制,提供給另一個(gè)對(duì)象使用,提供數(shù)據(jù)一方的稱為數(shù)據(jù)源對(duì)象,使用數(shù)據(jù)的一方稱為目標(biāo)對(duì)象,當(dāng)數(shù)據(jù)源對(duì)象發(fā)生改變時(shí),目標(biāo)對(duì)象的數(shù)據(jù)會(huì)自動(dòng)更新,而不需要我們?cè)倬帉懘a去強(qiáng)制更新,這就是綁定的含義。
Flex數(shù)據(jù)綁定的這個(gè)特性非常實(shí)用,當(dāng)程序要處理大量數(shù)據(jù),而且要保持?jǐn)?shù)據(jù)的實(shí)時(shí)更新,保持?jǐn)?shù)據(jù)同步往往會(huì)令開發(fā)者大費(fèi)周折,如今不用為這類問題而發(fā)牢騷了。
實(shí)際上,綁定的實(shí)現(xiàn)也是借用事件機(jī)制來完成。當(dāng)對(duì)目標(biāo)使用了Flex數(shù)據(jù)綁定后,目標(biāo)對(duì)象就會(huì)偵聽數(shù)據(jù)源對(duì)象的某一固定事件,在以后的過程中,源對(duì)象發(fā)生變化時(shí),數(shù)據(jù)源會(huì)派發(fā)改變事件,通知目標(biāo)對(duì)象更新的數(shù)據(jù)。,(PHP博客,www.phpcq.com)只不過,這一事件流程都是由Flex自動(dòng)處理。
綁定適用于各種類型的對(duì)象,只要參加綁定源對(duì)象的數(shù)據(jù)和目標(biāo)對(duì)象的數(shù)據(jù)格式相同,就可以使用。下面幾種情況中Flex數(shù)據(jù)綁定使用得比較頻繁:
1,將webservice或remoting方式得到的Flex數(shù)據(jù)綁定給控件
2,把控件Flex數(shù)據(jù)綁定給后臺(tái)通信的對(duì)象,發(fā)送給服務(wù)器端
3,后臺(tái)返回?cái)?shù)據(jù)和數(shù)據(jù)模型進(jìn)行綁定
4,組件或?qū)ο髮傩缘腇lex數(shù)據(jù)綁定
在綁定中作為數(shù)據(jù)源對(duì)象,該對(duì)象必須支持綁定,也就是,對(duì)象有派發(fā)改變事件的能力。Flex的組件提供了綁定接口,當(dāng)然,并不是組件所有的屬性及方法都可以用來作為數(shù)據(jù)源,一般來說,組件的重要屬性都可用來作為綁定中的數(shù)據(jù)源。
盡管Flex數(shù)據(jù)綁定功能非常強(qiáng)大,但并不是所有情況下都能使用,例如,有些情況下,數(shù)據(jù)的更新需要按照嚴(yán)格的先后順序,不可同時(shí)更新,這時(shí)***通過程序來設(shè)置數(shù)據(jù)改變。另外,一旦開始了綁定,每次源數(shù)據(jù)的改變都會(huì)導(dǎo)致目標(biāo)對(duì)象的數(shù)據(jù)更新,而有時(shí)希望目標(biāo)對(duì)象只在一定情況下才做出反應(yīng),,(PHP博客,www.phpcq.com)這時(shí),綁定就不是一個(gè)好的解決辦法。
【編輯推薦】
- 輕松實(shí)現(xiàn)Flex數(shù)據(jù)綁定
- Flex數(shù)據(jù)綁定的四種方式
- 學(xué)習(xí)總結(jié) 在Flex中如何嵌入Flex字體
- 揭開Flex正則表達(dá)式的神秘面紗
- FlexBuilder開發(fā)方法及特點(diǎn)解析