溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flex 初始化時事件怎么測試

發布時間:2021-12-06 10:03:47 來源:億速云 閱讀:485 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“Flex 初始化時事件怎么測試”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Flex 初始化時事件怎么測試”這篇文章吧。

Flex組件在建立的時候都會經歷四個事件:preinitialize, initialize, creationComplete和updateComplete(updateComplete事件在任何改動視覺的情況下都會發生,不是初始化時獨有的)。

Flex 初始化時的事件測試

Flex組件在建立的時候都會經歷四個事件:preinitialize, initialize, creationComplete和updateComplete(updateComplete事件在任何改動視覺的情況下都會發生,不是初始化時獨有的)。我這里有個例子來檢測在嵌套和平行的情況下,Flex 初始化時測試各個組件的事件拋出順序。

<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx=http://www.adobe.com/2006/mxml layout="absolute"    preinitialize="showEvent(event)"    initialize="showEvent(event)"    creationComplete="showEvent(event)"    updateComplete="showEvent(event)">     <mx:Script>   <![CDATA[     import flash.utils.getTimer;     private function showEvent(event:Event):void     {      trace(flash.utils.getTimer().toString()+" >> "+event.currentTarget.name+" "+event.type);     }    ]]>  mx:Script>     <mx:Canvas id="canv1"   preinitialize="showEvent(event)"     initialize="showEvent(event)"     creationComplete="showEvent(event)"     updateComplete="showEvent(event)">      <mx:Button id="btn1"    preinitialize="showEvent(event)"      initialize="showEvent(event)"      creationComplete="showEvent(event)"      updateComplete="showEvent(event)"/>  mx:Canvas>     <mx:Button id="btn2"    preinitialize="showEvent(event)"      initialize="showEvent(event)"      creationComplete="showEvent(event)"             updateComplete="showEvent(event)"/>    mx:Application>

它的輸出是:

1299 >> eventTest0 preinitialize   1307 >> canv1 preinitialize   1310 >> btn1 preinitialize   1318 >> btn1 initialize   1319 >> canv1 initialize   1320 >> btn2 preinitialize   1321 >> btn2 initialize   1321 >> eventTest0 initialize   [SWF] G:\projects\eventTest\bin-debug\eventTest.swf – 588,818 bytes after decompression   1387 >> btn1 creationComplete   1387 >> btn1 updateComplete   1387 >> canv1 creationComplete   1387 >> canv1 updateComplete   1388 >> btn2 creationComplete   1388 >> btn2 updateComplete   1388 >> eventTest0 creationComplete   1390 >> eventTest0 updateComplete

看著有點混亂,不過仔細看看,可以把過程分成兩個部分。很明顯,所有的creationComplete和updateComplete發生在第二次update的時候,之前Flex組件只是做一些設置和計算的工作,并沒有在畫布上畫任何東西。除此以外,還有這么一些規律:

◆就單個組件而言,Flex 初始化時事件的拋出順序是preinitialize,initialize,creationComplete

◆嵌套關系的兩個組件(比如Canvas和button1),preinitialize先外后內,initialize和creationComplete先內后外。只是creationComplete要在下一次update才會發生。
◆平行關系的兩個組件(比如Canvas和button2),按mxml內的順序,只有前面組件initialize結束后,后面的組件才會拋出preinitialize。

以上是“Flex 初始化時事件怎么測試”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女