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

輕松實現Flex數據綁定

開發 后端
Flex數據綁定的概念你是否熟悉,這里向大家簡單介紹一下如何在不依賴Flex框架的情況下實現簡單的Flex數據綁定,希望對你有所幫助。

本文和大家重點討論一下如何在不依賴Flex框架的情況下實現簡單的Flex數據綁定問題,在Flex項目中,Flex數據綁定是非常常見的代碼編寫方式,通過這種方式,我們可以減輕很多繁瑣的數據更新工作,并解除一些不必要的耦合。

如何在不依賴Flex框架的情況下實現簡單的Flex數據綁定

問題

在Flex項目中,Flex數據綁定是非常常見的代碼編寫方式,通過這種方式,我們可以減輕很多繁瑣的數據更新工作,并解除一些不必要的耦合。如果你還不了解綁定,點擊這里查看關于Flex中綁定的視頻。

如果我們是一個純ActionScript或Flash項目,不想依賴體積大的Flex框架,而又想使用其中的綁定機制,該如何做呢?我們可以遵循綁定的思路,自己編寫代碼實現綁定的方法。這里以簡單的字符串綁定為例,說明這個過程,當然要完整的實現對所有數據類型的綁定機制還是要編寫更多的代碼的,請參照Flex中對于綁定的實現。

解答

首先來看一下這個例子最終完成的Demo演示:


下面來看看是如何實現這套機制的,首先我們來創建一個可綁定的數據類,并實現對綁定對象的數據更新,注意主要是要用bind和unlock兩個方法來實現對Flex數據綁定和解除綁定:
 

  1. package{   
  2. publicclassBindableObject   
  3. {    
  4. publicvarbindProperty:*;    
  5. publicfunctionBindableObject(value:*=null):void{     
  6. bindProperty=value;    
  7. }   
  8.    
  9. publicfunctionsetproperty(p:*):void{   
  10.   bindProperty=p;    
  11.  BindManager.refresh(this);   
  12.  }    
  13. publicfunctiongetproperty():*{     
  14. returnbindProperty;    
  15. }  
  16.     
  17. publicfunctionbind(obj:*,property:String):void{     
  18. BindManager.registBindableObject(obj,property,this);    
  19. }  
  20.     
  21. publicfunctionunlock(obj:*,property:String):void{    
  22.  BindManager.unlockBindableObject(obj,property,this);   
  23.  }  
  24.  }  
  25. }  

 其中對綁定的數據更新要依賴一個manager類來實現,參見下面的代碼:
 

  1. package{   
  2. importflash.utils.Dictionary;   
  3. publicclassBindManager {    
  4. publicstaticvarvalueDic:Dictionary=newDictionary();    
  5. publicstaticfunctionregistBindableObject(obj:*,property:String,value:BindableObject):void{     
  6. if(value.property!=null)obj[property]=value.property;     
  7. if(valueDic[value]==null){      
  8. valueDic[value]=[];     
  9. }     
  10. valueDic[value].push(newInnerBindableObject(obj,property));    
  11. }  
  12.     
  13. publicstaticfunctionunlockBindableObject(obj:*,property:String,value:BindableObject):void{     
  14. if(value!=null){      
  15. varneedCheckObjs:Array=valueDic[value];      
  16. foreach(varitem:InnerBindableObjectinneedCheckObjs){       
  17. if(obj==item.obj&&property==item.property){        
  18. varindex:int=needCheckObjs.indexOf(item);        
  19. if(index!=-1)needCheckObjs.splice(index,1);      
  20.  }      
  21. }     
  22. }    
  23. }  
  24.     
  25. publicstaticfunctionrefresh(value:BindableObject=null):void{     
  26.  
  27. if(value!=null){      
  28. varneedRefObjs:Array=valueDic[value];   
  29.      
  30. foreach(varitem:InnerBindableObjectinneedRefObjs){     
  31.   if(item.obj!=null){     
  32.    item.obj[item.property]=value.property;     
  33.   }    
  34.   }     
  35. }   
  36.  }  
  37.  }}  
  38.  
  39. classInnerBindableObject{   
  40.  
  41. publicfunctionInnerBindableObject(o:*,p:String):void{   
  42.  oobj=o;    
  43. pproperty=p;  
  44.  }   
  45. publicvarobj:*; publicvarproperty:String;  
  46.  
  47. }  
  48.  

 使用方法:

1.首先創建一個BindableObject

2.調取它的bind方法,綁定到要更新的對象,比如:bindExpObj.bind(main.txt1,"text");

3.在需要的時候,對數據源更新,比如:bindExpObj.property=main.stringSRC.text;

4.解除Flex數據綁定,使用unlock方法,參數與bind相同,比如:bindExpObj.unlock(main.txt1,"text");

【編輯推薦】

  1. Flex數據綁定中使用Bindable元數據標記的三種方式
  2. Flex基礎 創建***個Flex項目
  3. Flex數據綁定中綁定到函數、對象和數組
  4. FlexBuilder3.0與Eclipse3.4的***結合
  5. 學習筆記 FlexBuilder2.0中如何使用基于Lists的控件 

 

責任編輯:佚名 來源: riameeting.com
相關推薦

2010-07-28 13:31:10

Flex數據綁定

2010-07-28 13:11:13

Flex數據綁定

2010-07-30 09:08:21

Flex數據綁定

2010-08-12 11:34:15

Flex數據綁定

2010-07-28 13:40:44

Flex數據綁定

2010-08-10 10:56:39

2010-08-10 13:15:36

Flex配置

2010-07-30 10:45:08

Flex數據綁定

2010-07-28 13:48:49

Flex數據綁定

2010-07-30 09:16:24

Flex數據綁定

2010-07-30 10:23:46

Flex數據綁定

2010-08-12 11:05:33

Flex數據綁定

2010-07-30 10:53:53

Flex數據綁定

2010-07-28 13:54:42

Flex數據綁定

2010-07-30 10:30:58

Flex數據綁定

2010-08-12 10:10:37

FlexMapABC

2010-08-13 14:19:44

Flex綁定機制

2010-08-06 10:15:35

Flex綁定

2010-07-27 13:13:33

Flex數據綁定

2010-07-28 13:24:20

Flex數據綁定
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄网站在线播放 | 日本精品视频在线观看 | 久久久精品视频免费看 | 精品国产欧美在线 | 在线欧美视频 | 九九国产 | 久久国产区 | 国产精品久久久久久久7电影 | 久久国产精品色av免费观看 | 美女爽到呻吟久久久久 | 一区二区三区亚洲 | 99国内精品久久久久久久 | 国产一级视频在线 | 国产小视频在线 | 日韩在线播放av | 久久av网站| 99在线免费观看视频 | 天天天天天操 | 午夜影院操 | 在线观看av网站 | av高清| 九七午夜剧场福利写真 | 天堂成人国产精品一区 | 国产乱人伦 | 欧美日韩一卡二卡 | 在线一区视频 | 武道仙尊动漫在线观看 | 中文字幕在线精品 | 久久久久国产精品一区二区 | 中文字幕欧美日韩一区 | 欧美日韩在线免费观看 | 久久久久久国产精品 | 欧美亚洲一级 | www.788.com色淫免费 | 国产精品国产精品国产专区不卡 | 亚洲 欧美 另类 综合 偷拍 | 久久久久亚洲视频 | 亚洲精品在线免费播放 | 视频一区中文字幕 | 日批av| 请别相信他免费喜剧电影在线观看 |