Flex綁定屬性鏈

  當指定一個屬性作爲數據綁定表達式的源時,Flex不僅監控這個屬性的變化,也會監控由這個屬性作爲開始點的屬性鏈的變化。整個屬性鏈,包括源屬性,被稱爲“可綁定的屬性鏈”。在下面的例子中,firstName.text是一個可綁定的屬性鏈:
<mx:Text id="myText" text="{firstName.text}"/>
    也可以使用很長的屬性鏈,
<mx:Text id="myText" text="{user.name.firstName.text}"/>
    只有當text屬性是可綁定的,數據綁定機制才能檢查text屬性的變化,但是,如果在運行時,要想向屬性鏈中的部分屬性賦予新值,那麼屬性鏈中的每個屬性都必須是可綁定的,才能使數據綁定機制起作用。否則,在運行時更改user, name或者firstName屬性會導致數據綁定機制無法檢查text屬性的變化。
     在使用BindingUtils.bindProperty()時,可以將綁定的屬性鏈作爲方法的參數。
BindingUtils.bindProperty(myText, "text", this, ["user", "name", "firatName", "text"]);

 

 

屬性鏈就是bindProperty()和 bindSettet()等方法中的chain參數所表示的對象, 有時也許綁定源並不只是text1.text這樣的簡單形式,也可以是類似於user.name.text1.text,那麼就存在一個關係鏈的問題,如 果這條鏈中的某一項發生了改變,會不會觸發綁定呢?答案是如果你想讓其改變其中的某一項都能觸發數據綁定,那麼這條鏈的每個元素必須是可綁定的。對於上面 的這種形式,可以這樣使用bindProperty方法:
bindProperty(text2, "text", this, ["user", "name","text1","text"])
發佈了24 篇原創文章 · 獲贊 7 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章