成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

技術(shù)分享 在ActionScript中如何定義Flex數(shù)據(jù)綁定

開(kāi)發(fā) 后端
本文向大家介紹一下在ActionScript 中定義Flex數(shù)據(jù)綁定的方法,通過(guò)使用mx.binding.utils.BindingUtils能夠在ActionScript中定義綁定。

你對(duì)在ActionScript 中定義Flex數(shù)據(jù)綁定是否了解,這里和大家分享一下,通過(guò)使用bindProperty() 方法可以讓我們創(chuàng)建一個(gè)到用變量實(shí)現(xiàn)的屬性的數(shù)據(jù)綁定,或者用bindSetter()方法創(chuàng)建一個(gè)到用方法實(shí)現(xiàn)的屬性的Flex數(shù)據(jù)綁定。

在ActionScript 中定義Flex數(shù)據(jù)綁定

通過(guò)使用mx.binding.utils.BindingUtils能夠在ActionScript中定義綁定。這個(gè)類(lèi)定義了幾個(gè)靜態(tài)方法,通過(guò)使用bindProperty() 方法可以讓我們創(chuàng)建一個(gè)到用變量實(shí)現(xiàn)的屬性的數(shù)據(jù)綁定,或者用bindSetter()方法創(chuàng)建一個(gè)到用方法實(shí)現(xiàn)的屬性的Flex數(shù)據(jù)綁定。

(1)在MXML 與在ActionScript 定義Flex數(shù)據(jù)綁定的區(qū)別

編譯期在MXML 中定義Flex數(shù)據(jù)綁定與在運(yùn)行期在ActionScript 中定義Flex數(shù)據(jù)綁定有一些不同之處:
◆不能在由bindProperty()或者bindSetter()方法定義綁定表達(dá)式中引入ActionScript 代碼。相反,使用bindSetter()方法可以指定一個(gè)在綁定發(fā)生時(shí)調(diào)用的
方法。
◆ 不能在由ActionScript 中定義的綁定表達(dá)式中引入E4X 表達(dá)式。
◆ 在由the bindProperty()或者bindSetter()方法定義的Flex數(shù)據(jù)綁定表達(dá)式的屬性鏈中不能引入函數(shù)或者數(shù)組元素。更多信息見(jiàn)Working with bindable property chains.
◆同運(yùn)行時(shí)使用bindProperty()或者bindSetter()定義的Flex數(shù)據(jù)綁定相比,MXML 編譯器有更好的警告和錯(cuò)誤檢查支持。

(2)范例:在ActionScript 中定義Flex數(shù)據(jù)綁定

下面的例子是用bindSetter()建立了一個(gè)Flex數(shù)據(jù)綁定。bindSetter()方法的參數(shù)設(shè)置如下:
◆ 源(source) 對(duì)象
◆ 源(source) 屬性名
◆ 當(dāng)源(source)屬性變化被調(diào)用的方法。
下面的范例中,當(dāng)向TextInput 控件中輸入文本時(shí),文本會(huì)被轉(zhuǎn)換為大寫(xiě)形式并拷貝給TextArea
控件:
 

  1. <?xml version="1.0"?> 
  2. <!-- binding/BindSetterAS.mxml --> 
  3. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> 
  4. <mx:Script> 
  5. <![CDATA[  
  6. import mx.binding.utils.*;  
  7. import mx.events.FlexEvent;  
  8. // Method called when myTI.text changes.  
  9. public function updateMyString(val:String):void {  
  10. myTA.text = val.toUpperCase();  
  11. }  
  12. <!-- Event listener to configure binding. -->  
  13. public function mySetterBinding(event:FlexEvent):void {  
  14. var watcherSetter:ChangeWatcher =  
  15. BindingUtils.bindSetter(updateMyString, myTI, "text");  
  16. }  
  17. ]]> 
  18. </mx:Script> 
  19. <mx:Label text="Bind Setter using setter method"/> 
  20. <mx:TextInput id="myTI" 
  21. text="Hello Setter" /> 
  22. <mx:TextArea id="myTA" 
  23. initialize="mySetterBinding(event);"/> 
  24. </mx:Application> 

 (3)定義綁定觀(guān)察者 (watchers)

Flex 有個(gè)mx.binding.utils.ChangeWatcher 類(lèi),可以用這個(gè)類(lèi)來(lái)定義一個(gè)Flex數(shù)據(jù)綁定觀(guān)察者。通常,F(xiàn)lex數(shù)據(jù)綁定觀(guān)察者在綁定發(fā)生時(shí)激活一個(gè)事件監(jiān)聽(tīng)器。可按照下面的范例使用
ChangeWatcher 的watch()即可建立一個(gè)Flex數(shù)據(jù)綁定觀(guān)察者:
 

  1. <?xml version="1.0"?> 
  2. <!-- binding/DetectWatcher.mxml --> 
  3. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
  4. initialize="initWatcher();"> 
  5. <mx:Script> 
  6. <![CDATA[  
  7. import mx.binding.utils.*;  
  8. import mx.events.FlexEvent;  
  9. import mx.events.PropertyChangeEvent;  
  10. public var myWatcher:ChangeWatcher;  
  11. // Define binding watcher.  
  12. public function initWatcher():void {  
  13. // Define a watcher for the text binding.  
  14. ChangeWatcher.watch(textarea, "text", watcherListener);  
  15. }  
  16. // Event listener when binding occurs.  
  17. public function watcherListener(event:Event):void {  
  18. myTA1.text="binding occurred";  
  19. // Use myWatcher.unwatch() to remove the watcher.  
  20. }  
  21. ]]> 
  22. </mx:Script> 
  23. <!-- Define a binding expression_r to watch. --> 
  24. <mx:TextInput id="textinput" text="Hello"/> 
  25. <mx:TextArea id="textarea" text="{textinput.text}"/> 
  26. <!-- Trigger a binding. --> 
  27. <mx:Button label="Submit" click="textinput.text='Goodbye';"/> 
  28. <mx:TextArea id="myTA1"/> 
  29. </mx:Application> 

上面的范例中,為Flex數(shù)據(jù)綁定觀(guān)察者定義了事件監(jiān)聽(tīng)器,在這個(gè)事件監(jiān)聽(tīng)器中使用了單個(gè)參數(shù)來(lái)包含事件對(duì)象。事件對(duì)象的數(shù)據(jù)類(lèi)型由被觀(guān)察的屬性所決定。每個(gè)可綁定的屬性會(huì)不同的
事件類(lèi)型以及相關(guān)的事件對(duì)象。有關(guān)確定事件類(lèi)型的更多信息見(jiàn)“使用Bindable 元數(shù)據(jù)標(biāo)記”。
 

【編輯推薦】

  1. Adobe Flex提供三種方法指定Flex數(shù)據(jù)綁定
  2. 術(shù)語(yǔ)匯編 Flex數(shù)據(jù)綁定概述
  3. Flex數(shù)據(jù)綁定的四種方式
  4. 解析Flex全屏模式設(shè)置方法
  5. Flex內(nèi)存泄露解決方法和內(nèi)存釋放優(yōu)化原則

 

 

責(zé)任編輯:佚名 來(lái)源: myspace.com
相關(guān)推薦

2010-08-11 15:51:45

Flex DataGr

2010-08-09 15:41:13

Flex字體

2010-07-28 12:41:18

Flex組件

2010-07-30 10:53:53

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

2010-08-09 10:39:14

FlexACtionSCrip

2010-07-28 13:31:10

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

2010-07-28 13:11:13

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

2010-08-12 11:05:33

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

2010-07-30 10:45:08

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

2010-08-02 16:33:11

Flex Spring

2010-08-05 13:07:11

FlexJson

2010-08-11 14:47:54

Flex樣式

2010-07-30 09:08:21

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

2010-08-12 11:34:15

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

2010-08-05 15:06:19

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

2010-08-10 14:08:09

Flex嵌入字體

2010-08-09 15:30:00

Flex字體

2010-07-28 13:24:20

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

2010-08-12 10:56:17

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

2010-07-30 09:28:09

Flex數(shù)據(jù)綁定
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 一级特黄网站 | 久久er精品 | 日韩国产免费 | 成人亚洲精品 | 日本三级全黄三级三级三级口周 | 成人精品 | 国产一区2区 | 中文字幕在线免费视频 | 国产精品1区2区3区 一区中文字幕 | 午夜日韩 | 91伊人网| 欧美日韩第一页 | av色站| 九一在线观看 | 欧美理伦片在线播放 | 91视频亚洲 | 国产精品777一区二区 | 欧美视频精品 | 欧美日韩亚洲一区 | 日韩中文在线 | 久久精品小视频 | 中文字幕免费在线 | 免费的日批视频 | 国产国拍亚洲精品av | 成人福利片 | 91欧美| 欧美日韩一二三区 | 欧美日韩在线视频一区二区 | 亚洲国产一区二区三区四区 | 91影院 | 91视视频在线观看入口直接观看 | 日本一二三区在线观看 | 久久国内精品 | 国产亚洲精品成人av久久ww | 岛国二区| 亚洲精品91 | 91在线视频播放 | 国产成人免费在线 | 风间由美一区二区三区在线观看 | 日韩欧美国产一区二区 | 国产精品久久久久久久久久免费 |