国产探花免费观看_亚洲丰满少妇自慰呻吟_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 時是不一樣的,子組件沒有被重建,只是簡單的被重新添加進來。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岳池县| 会理县| 阜平县| 朝阳区| 寿宁县| 凤庆县| 桃江县| 韶山市| 深圳市| 晋江市| 丰原市| 荔浦县| 高唐县| 黄陵县| 海原县| 富宁县| 博野县| 永吉县| 澄江县| 滨州市| 华宁县| 财经| 南召县| 鄂州市| 弋阳县| 赤壁市| 江达县| 湖南省| 虞城县| 厦门市| 福州市| 阿克| 石阡县| 邵武市| 祁连县| 浮梁县| 汝阳县| 枣庄市| 崇明县| 浮梁县| 准格尔旗|