转载:http://blog.pjoke.com/2008/12/component-event-sequence-in-fle/
为了便于理解Flex里面组件的事件是如何发生的,我写了这么一些代码:
mxml:
<mx:Something ......
addedToStage="trace('addedToStage')" creationComplete="trace('creationComplete')" enterFrame="if (!enterframeflag) {trace('enterFrame'); enterframeflag=true;}" initialize="trace('initialize')" preinitialize="trace('preinitialize')" resize="trace('resize')" show="trace('show')"
/>
然后再debug模式下运行,输出结果如下:
preinitialize initialize enterFrame resize [SWF] C:\Documents and Settings\polo\Desktop\study\testmenu\bin-debug\testmenu.swf - 877,825 bytes after decompression creationComplete addedToStage
再运行一次:
preinitialize initialize [SWF] C:\Documents and Settings\polo\Desktop\study\testmenu\bin-debug\testmenu.swf - 877,825 bytes after decompression enterFrame resize creationComplete addedToStage
[SWF]一行是解压过程,可以忽略不计。
剩下的内容就是组件事件的发生顺序了。
预初始化->初始化->进入桢->改变大小->创建结束->添加到场景。
而show事件没有发生。