国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

第十四章. 數據綁定

2024-04-27 13:52:17
字體:
來源:轉載
供稿:網友
Flex 為基于組件的應用程序提供了一種健全的架構模式,在這個強大的框架里,是一個基于事件的系統,在這個事件系統中通過數據綁定,可以通過其它的對象來修改另外一個對象的內部的屬性值。

數據綁定使得在應用程序中不同的層間傳遞數據的變得簡單和方便,通過將源屬性與目標屬性進行關聯來實現。當源屬性的值有更新時,會產生一個事件來通知目的屬性來進行更新。

當一個變量標記為可綁定后,其它對象就可以修改該變量的其它目的屬性的值。將一個變量上進行數據綁定,你必須使用下面三種方式中的一種來定義[Bindable]標記。

?在一個類的定義之前
+展開
-ActionScript
package com.oreilly.flexcookbook
{
import flash.events.EventDispatcher;
[Bindable]
public class DataObject extends EventDispatcher{}
}

在一個類創建之前添加[Bindable]標記創建一個綁定的表達式從而使得類的所有共有屬性變得可以綁定。所有可以綁定的類必須由IEventDispatcher 類實現,因為數據綁定是基于事件驅動,來復制源數據到目的數據。

? 在變量的前面進行聲明
+展開
-ActionScript
[Bindable] private var _lastName:String;
[Bindable] protected var _age:Number;
[Bindable] public var firstName:String;

聲明為私有的變量標記為可綁定時,則只能在類中進行綁定。保護的變量則只能在繼承或者類本身可見。而共有變量都可見。

? 在屬性的前面通過隱含的getter/setter 方法來變向的進行綁定:
+展開
-ActionScript
private var _lastName:String;
...
[Bindable]
public function get lastName():String{return _lastName;}
public function set lastName( str:String ):void{_lastName = str;}

當你通過添加[Bindable]標記在getter 的聲明的上方,來定義隱含的getter/setter 為可綁定的方法,則該變量可以通過點標語法進行存取。這樣可以你通過同樣的語法來存取非綁定的變量,自有變量等來設置數據源綁定。

在框架內部,當綁定的變量值更新時,框架會發送propertyChange 事件來更新數據。

[Bindable]標記接受一個事件屬性,通過定義一個自定義的事件類型:
+展開
-ActionScript
[Bindable(event="myValueChanged")]


默認情況下事件屬性被設置為propertyChange。如果不進事件類型進行修改,則目的變量會被內部使用該類型進行提示。如果你自定義了該屬性,則必須在類的內部進行聲明。

綁定是通過事件通知來實現的,當應用程序中的源變量修改或者在初始化時,就會被觸發。

你可以通過執行綁定的方法,來強制要求目標為mx.core.UIComponent 子類的對象的數據綁定執行。

數據綁定提供一層而達到在不同的對象間進行數據同步,從而幫助創建富應用程序。這一節的多種數據綁定的技巧到你的應用程序的架構中去。

目錄


14.1.綁定一個屬性

14.2.綁定到一個函數

14.3.創建一個雙向綁定

14.4.使用ActionScript來進行數據綁定

14.5.鏈式的屬性綁定

14.6.使用E4X進行綁定XML的數據

14.7.創建個性化可綁定的屬性

14.8.綁定到一個一般的對象

14.9.綁定到一個動態類的屬性

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 紫阳县| 当雄县| 秭归县| 蚌埠市| 嘉禾县| 日照市| 奎屯市| 德保县| 平定县| 咸丰县| 尼玛县| 公安县| 崇州市| 临桂县| 华蓥市| 罗田县| 娄底市| 托克逊县| 周宁县| 蒙城县| 且末县| 岳阳县| 油尖旺区| 遵义市| 门头沟区| 清丰县| 定安县| 清河县| 彭阳县| 兴隆县| 革吉县| 辽阳县| 大宁县| 林甸县| 徐水县| 丹寨县| 桑植县| 普宁市| 禄劝| 山东| 双辽市|