91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flex中怎么實現數據綁定

發布時間:2021-08-09 15:03:52 來源:億速云 閱讀:102 作者:Leah 欄目:編程語言

Flex中怎么實現數據綁定,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

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

Flex中怎么實現數據綁定


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

package{   publicclassBindableObject   {    publicvarbindProperty:*;    publicfunctionBindableObject(value:*=null):void{     bindProperty=value;    }      publicfunctionsetproperty(p:*):void{     bindProperty=p;     BindManager.refresh(this);    }    publicfunctiongetproperty():*{     returnbindProperty;    }      publicfunctionbind(obj:*,property:String):void{     BindManager.registBindableObject(obj,property,this);    }      publicfunctionunlock(obj:*,property:String):void{     BindManager.unlockBindableObject(obj,property,this);    }   }  }

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

package{   importflash.utils.Dictionary;   publicclassBindManager {    publicstaticvarvalueDic:Dictionary=newDictionary();    publicstaticfunctionregistBindableObject(obj:*,property:String,value:BindableObject):void{     if(value.property!=null)obj[property]=value.property;     if(valueDic[value]==null){      valueDic[value]=[];     }     valueDic[value].push(newInnerBindableObject(obj,property));    }      publicstaticfunctionunlockBindableObject(obj:*,property:String,value:BindableObject):void{     if(value!=null){      varneedCheckObjs:Array=valueDic[value];      foreach(varitem:InnerBindableObjectinneedCheckObjs){       if(obj==item.obj&&property==item.property){        varindex:int=needCheckObjs.indexOf(item);        if(index!=-1)needCheckObjs.splice(index,1);       }      }     }    }      publicstaticfunctionrefresh(value:BindableObject=null):void{      if(value!=null){      varneedRefObjs:Array=valueDic[value];        foreach(varitem:InnerBindableObjectinneedRefObjs){       if(item.obj!=null){        item.obj[item.property]=value.property;       }      }     }    }   }}   classInnerBindableObject{    publicfunctionInnerBindableObject(o:*,p:String):void{    oobj=o;    pproperty=p;   }   publicvarobj:*; publicvarproperty:String;   }

使用方法:

1.首先創建一個BindableObject

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

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

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

關于Flex中怎么實現數據綁定問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大城县| 罗平县| 吉首市| 离岛区| 宁化县| 赣榆县| 秀山| 衡南县| 五家渠市| 平利县| 象山县| 尼玛县| 太谷县| 名山县| 广河县| 伊金霍洛旗| 普安县| 隆子县| 江安县| 和田县| 邢台市| 阿拉善左旗| 乐昌市| 汨罗市| 塔河县| 图木舒克市| 古浪县| 德庆县| 浦城县| 浑源县| 元谋县| 郴州市| 佛教| 邓州市| 阿鲁科尔沁旗| 辽阳市| 马尔康县| 北宁市| 沐川县| 木里| 克东县|