亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

乐山市| 永仁县| 寿光市| 灵丘县| 宁明县| 鱼台县| 丹巴县| 林周县| 贞丰县| 宁阳县| 东乌珠穆沁旗| 林口县| 合水县| 贵州省| 泗洪县| 仪陇县| 梁河县| 沛县| 当阳市| 康定县| 扶风县| 富川| 苏州市| 宁海县| 湖北省| 濮阳县| 南阳市| 泌阳县| 民权县| 建昌县| 北京市| 永登县| 修文县| 应城市| 阳泉市| 钟山县| 上虞市| 平泉县| 沙坪坝区| 井冈山市| 北辰区|