Flex的三種繫結

2021-08-29 17:25:44 字數 1118 閱讀 7583

flex實際上在編譯的時候會產生一些watcher**去監視繫結標籤所指定的表示式。在執行的時候,當繫結源的屬性得到修改,那麼這個watcher監視類就會觸發change事件去執行繫結更新的工作。在flex中有三種繫結資料方式:

1、{}

2、tag in mxml

3、bindingutils methods in actionscript

1、最常用的就是通過大括號{}的形式。

在{}繫結方式中,可以繫結property,actionscript expressions,e4

x expression和actionscript functions。繫結乙個屬性或者一段as的表示式已經應用的非常普遍了。偶爾我們需要用到繫結的是乙個as的函式,但是,繫結乙個函式的時候很多人 會碰到問題,為什麼我的資料沒有自動更新呢?本人也曾經碰到過,看了開發文件才知道,原來忽略了乙個細節問題。

就是在繫結函式的時候,通常情況下需要乙個bindable的property作為該函式的引數。

如這裡的instring一旦發生改變,會直接觸發函式getnewtext進行重新執行。

但如果你將函式的引數instring去掉,而直接放到getnewtext()中,那麼這個函式會在系統初始化的時候執行一次,而起不到繫結的效果。我可是在實際開發中有深刻體會。

2、用標籤效果和{}一樣,只需要指定source和destination兩個屬性即可,如:

在的source屬性中也可以使用{},如下面的例子中,其效果是等同的

3、在actionscript中實現繫結

這種方法是使用mx.binding.utils.bindingutils類來實現的。

如: bindingutils.bindproperty(textarea, "text", textinput, "text");

就是直接繫結了兩個輸入框的text屬性,還可以用bindsetter來繫結乙個資料來源和乙個set函式。如:

public function mysetterbinding(event:flexevent):void

這裡就是將textinput2的text屬性setter函式和setmystring函式繫結起來,

一旦textinput2的text被修改,那麼將會觸發setmystring函式。

Flex三種通訊方式

flex三種通訊方式 flex程式與伺服器端程式進行資料互動,有三種通訊方式 表1 1 通訊方式 通訊協議 互動資料格式 常用的http協議 xmlwebservice soap協議 xmlremoteobject flex 自定義的高效二進位制 資料通訊協議 amf 任意 可以是數字,字串,物件,...

React繫結this的三種方式

react可以使用react.createclass es6 classes 純函式3種方式構建元件。使用react.createclass會自動繫結每個方法的this到當前元件,但使用es6 classes或純函式時,就要靠手動繫結this了。接下來介紹react中三種繫結this的方法bind ...

事件的三種繫結方式

1.行內式繫結事件處理 另外一種寫法 functionclickme 這時候,這個函式的作用於這就這個物件本身 input 所以我們可以通過this獲取input的任何屬性。缺點 1.html與js 的耦合性高 2.在事件函式未預編譯之前,點選可能會報錯 3.這樣的事件處理程式在不同瀏覽器中的作用於...