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

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

11.12.處理StateChange 事件

2024-04-27 13:52:12
字體:
來源:轉載
供稿:網友
11.12.1. 問題
我想了解和states 改變時所關聯的事件。
11.12.2. 解決辦法
添加trace 語句到ENTER_STATE 事件和子組件的CREATION_COMPLETE 事件中,來顯示當進入state 子組件何時被創建,離開state 組件何時被移除,但不是刪除。
11.12.3. 討論
當state 改變時有一系列事件會發生,看起來有點復雜。State 自身廣播的事件有從子組件發出的creation, addedToStage, and removedFromStage 事件。當State 對象被創建,進入,離開時有下列不同類型的事件觸發:
mx.events.StateChangeEvent.CURRENT_STATE_CHANGE
定義當視圖狀態更改時調度的事件的type 屬性的值

mx.events.StateChangeEvent.CURRENT_STATE_CHANGING
定義當視圖狀態將要更改時調度的事件的type 屬性值

State 事件有:
mx.events.FlexEvent.ENTER_STATE
當進入視圖狀態時調度。這個事件是在基礎視圖狀態改變后觸發

mx.events.FlexEvent.EXIT_STATE
在離開視圖狀態前調度。這個事件是在基礎視圖狀態被移除前觸發

子組件事件有:
mx.events.FlexEvent.ADD
當組件通過addChild 或addChildAt 方法添加到容器作為子控件時觸發。

mx.events.FlexEvent.REMOVE
當組件通過removeChild 或removeChildAt 方法從容器中移除時觸發。

mx.events.FlexEvent.PREINITIALIZE
當組件按順序初始化前觸發

mx.events.FlexEvent.INITIALIZE
當組件完成構造和設置所有屬性后觸發。

mx.events.FlexEvent.CREATION_COMPLETE
當組件完成構造,屬性處理,計算尺寸,布局和繪制后觸發。

當一個組件從基礎state(組件被創建時的狀態)轉換到第二個state 時,事件的觸發順序是這樣的:
[child] constructor()
[component] CURRENT_STATE_CHANGING;
[child] ADD;
[child] PREINITIALIZE;
[child] createChildren();
[child] INITIALIZE;
[state] ENTER_STATE; (second state)
[component] CURRENT_STATE_CHANGE;
[child] commitProperties();
[child] updateDisplayList();
[child] CREATION_COMPLETE;


當組件從第二個state 轉換到基礎state 時,事件的順序和方法調用順序是這樣的:
[component] CURRENT_STATE_CHANGING;
[state] EXIT_STATE; (second state)
[child] REMOVE;
[component] CURRENT_STATE_CHANGE;


當組件再次回到第二個state 時:
[component] CURRENT_STATE_CHANGING;
[child] ADD;
[state] ENTER_STATE; (second state)
[component] CURRENT_STATE_CHANGE;
[child] updateDisplayList();

我們注意到組件第一次進入第二個state 和第二次進入第二個state 時是不一樣的,子組件沒有被重建,只是簡單的被重新添加進來。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长宁区| 北京市| 兴山县| 长泰县| 昌邑市| 宜川县| 鄂州市| 华亭县| 永平县| 临海市| 万宁市| 梅州市| 连州市| 陕西省| 郧西县| 东宁县| 莎车县| 北流市| 江源县| 贡觉县| 湖北省| 三亚市| 弥渡县| 山阴县| 仁化县| 丰都县| 桃园市| 阳城县| 赣榆县| 绍兴县| 嘉定区| 隆子县| 资兴市| 杂多县| 浦北县| 焉耆| 比如县| 家居| 朔州市| 中宁县| 泗阳县|