Flex數(shù)據(jù)綁定的概念解讀
本文和大家重點(diǎn)學(xué)習(xí)一下Flex數(shù)據(jù)綁定的概念,F(xiàn)lex數(shù)據(jù)綁定的這個(gè)特性非常實(shí)用,當(dāng)程序要處理大量數(shù)據(jù),而且要保持?jǐn)?shù)據(jù)的實(shí)時(shí)更新。
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ì)象,(PHP博客,www.phpcq.com)使用數(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è)好的解決辦法。
【編輯推薦】
- Flex數(shù)據(jù)綁定陷阱
- Flex數(shù)據(jù)綁定技巧
- Flex數(shù)據(jù)綁定中難以發(fā)現(xiàn)的無聲錯(cuò)誤
- FlexBuilder3.0與Eclipse3.4的***結(jié)合
- 剖析Flex DataGrid分頁(yè)控件的兩種分頁(yè)形式用法


















