中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

ActionScript中怎么定義Flex數據綁定

發布時間:2021-08-13 11:58:10 來源:億速云 閱讀:129 作者:Leah 欄目:編程語言

ActionScript中怎么定義Flex數據綁定,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

在ActionScript 中定義Flex數據綁定

通過使用mx.binding.utils.BindingUtils能夠在ActionScript中定義綁定。這個類定義了幾個靜態方法,通過使用bindProperty() 方法可以讓我們創建一個到用變量實現的屬性的數據綁定,或者用bindSetter()方法創建一個到用方法實現的屬性的Flex數據綁定。

(1)在MXML 與在ActionScript 定義Flex數據綁定的區別

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

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

下面的例子是用bindSetter()建立了一個Flex數據綁定。bindSetter()方法的參數設置如下:
◆ 源(source) 對象
◆ 源(source) 屬性名
◆ 當源(source)屬性變化被調用的方法。
下面的范例中,當向TextInput 控件中輸入文本時,文本會被轉換為大寫形式并拷貝給TextArea
控件:

<?xml version="1.0"?> <!-- binding/BindSetterAS.mxml --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[  import mx.binding.utils.*;  import mx.events.FlexEvent;  // Method called when myTI.text changes.  public function updateMyString(val:String):void {  myTA.text = val.toUpperCase();  }  <!-- Event listener to configure binding. -->  public function mySetterBinding(event:FlexEvent):void {  var watcherSetter:ChangeWatcher =  BindingUtils.bindSetter(updateMyString, myTI, "text");  }  ]]> </mx:Script> <mx:Label text="Bind Setter using setter method"/> <mx:TextInput id="myTI" text="Hello Setter" /> <mx:TextArea id="myTA" initialize="mySetterBinding(event);"/> </mx:Application>

(3)定義綁定觀察者 (watchers)

Flex 有個mx.binding.utils.ChangeWatcher 類,可以用這個類來定義一個Flex數據綁定觀察者。通常,Flex數據綁定觀察者在綁定發生時激活一個事件監聽器。可按照下面的范例使用
ChangeWatcher 的watch()即可建立一個Flex數據綁定觀察者:

<?xml version="1.0"?> <!-- binding/DetectWatcher.mxml --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="initWatcher();"> <mx:Script> <![CDATA[  import mx.binding.utils.*;  import mx.events.FlexEvent;  import mx.events.PropertyChangeEvent;  public var myWatcher:ChangeWatcher;  // Define binding watcher.  public function initWatcher():void {  // Define a watcher for the text binding.  ChangeWatcher.watch(textarea, "text", watcherListener);  }  // Event listener when binding occurs.  public function watcherListener(event:Event):void {  myTA1.text="binding occurred";  // Use myWatcher.unwatch() to remove the watcher.  }  ]]> </mx:Script> <!-- Define a binding expression_r to watch. --> <mx:TextInput id="textinput" text="Hello"/> <mx:TextArea id="textarea" text="{textinput.text}"/> <!-- Trigger a binding. --> <mx:Button label="Submit" click="textinput.text='Goodbye';"/> <mx:TextArea id="myTA1"/> </mx:Application>

看完上述內容,你們掌握ActionScript中怎么定義Flex數據綁定的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

海伦市| 平江县| 改则县| 洛扎县| 绿春县| 当雄县| 翁源县| 阜新市| 两当县| 兰考县| 社会| 临高县| 贵州省| 东明县| 塘沽区| 深圳市| 皮山县| 克拉玛依市| 乐安县| 雅安市| 孟连| 深州市| 绩溪县| 南宁市| 邓州市| 井冈山市| 甘谷县| 化德县| 临西县| 承德县| 台湾省| 思南县| 突泉县| 波密县| 诸城市| 建平县| 乌恰县| 沂南县| 灵石县| 涡阳县| 富宁县|