温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Flex 初始化时事件怎么测试

发布时间:2021-12-06 10:03:47 来源:亿速云 阅读:179 作者:小新 栏目:编程语言

这篇文章主要为大家展示了“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