P984
Data binding requires a source property, a destination property, and a triggering event that
indicates when to copy the data from the source to the destination.
數據綁定需要一個源,一個目標和需要從源拷貝數據到目的一個觸發事件。
注意:這句話解釋了數據綁定的本質。也引出了下面的一段話。
You can use all properties of a component as the destination of a data binding expression.
However, to use a property as the source of a data binding expression,the component must be
implemented to support data binding, which means that the component dispatches an event
when the value of the property changes to trigger the binding. For more information on
creating component properties that can be used as the source of a data binding expression, see
“Bindable metadata tag” in Creating and Extending Flex 2 Components.
上面這段話的關鍵含義在于有下劃線的這一段: 控件必須支持數據綁定,這意味著當屬性改變時控件必須發送一個事件來觸發數據綁定的操作。
In addition to properties, you can use ActionScript functions as the source of binding
expressions. You usually do this when using a bindable property as an argument of a function.
When the property changes, the function executes, and the result is used in the binding
destination.
對于實行,可以使用ActionScript的函數做為綁定表達式的源。通常可以使用一個綁定的屬性做為函數的參數,這樣當屬性變化時,函數將會執行,結果就會被綁定的目的使用。
注:對上面一段話有了初步的理解,不過最好能有一個例子說明,可惜還沒看到:(
You can also use a property of type Function as a binding source or destination. A property of
type Function is a variable that holds a reference to a function.
注:這也是一個說明函數與數據綁定相關的使用方法。
下面終于就要講到數據綁定的具體使用方法了。
Binding data with curly braces
舉例如下:
<?xml version="1.0"?>
<mx:Application xmlns:mx="<!-- Data model stores registration data that user enters. -->
<mx:Model id="reg">
???<registration>
??????<name>{name.text}</name>
??????<email>{email.text}</email>
??????<phone>{phone.text}</phone>
??????<zip>{zip.text}</zip>
??????<ssn>{ssn.text}</ssn>
???</registration>
</mx:Model>
<!-- Form contains user input controls. -->
<mx:Form>
???<mx:FormItem label="Name" required="true">
??????<mx:TextInput id="name" width="200"/>
???</mx:FormItem>
???<mx:FormItem label="Email" required="true">
??????<mx:TextInput id="email" width="200"/>
???</mx:FormItem>
???<mx:FormItem label="Phone" required="true">
??????<mx:TextInput id="phone" width="200"/>
???</mx:FormItem>
???<mx:FormItem label="Zip" required="true">
??????<mx:TextInput id="zip" width="60"/>
???</mx:FormItem>
???<mx:FormItem label="Social Security" required="true">
??????<mx:TextInput id="ssn" width="200"/>
???</mx:FormItem>
???...
</mx:Form>
</mx:Application>
上面的例子很清楚的說明了使用{}做為數據綁定的用法。不過在上面的例子中使用到了DataModel,關于Data Models請參見?Chapter 38, “Storing Data,” on page 1001。
posted on 2006-11-01 23:06
The Matrix 閱讀(336)
評論(0) 編輯 收藏 所屬分類:
Flex2