加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex 初始化时的事件测试

发布时间:2020-12-15 04:29:52 所属栏目:百科 来源:网络整理
导读:flex组件在建立的时候都会经历四个事件:preinitialize,?initialize,?creationComplete和updateComplete(updateComplete事件在任何改动视觉的情况下都会发生,不是初始化时独有的)。我这里有个例子来检测在嵌套和平行的情况下,测试各个组件的事件抛出顺序
flex组件在建立的时候都会经历四个事件:preinitialize,?initialize,?creationComplete和updateComplete(updateComplete事件在任何改动视觉的情况下都会发生,不是初始化时独有的)。我这里有个例子来检测在嵌套和平行的情况下,测试各个组件的事件抛出顺序。

?

  1. <?xml?version="1.0"?encoding="utf-8"?>??
  2. <mx:Application?xmlns:mx="http://www.adobe.com/2006/mxml"?layout="absolute"???
  3. ????preinitialize="showEvent(event)"???
  4. ????initialize="showEvent(event)"???
  5. ????creationComplete="showEvent(event)"???
  6. ????updateComplete="showEvent(event)">??
  7. ???
  8. ????<mx:Script>??
  9. ????????<!--[CDATA[??
  10. ????????????import?flash.utils.getTimer;??
  11. ????????????private?function?showEvent(event:Event):void??
  12. ????????????{??
  13. ????????????????trace(flash.utils.getTimer().toString()+"?>>?"??
  14. ????????????????+event.currentTarget.name+"?"+event.type);??
  15. ????????????}??
  16. ????????]]-->??
  17. ????</mx:Script>??
  18. ???
  19. ????<mx:Canvas?id="canv1"??
  20. ????????preinitialize="showEvent(event)"???
  21. ????????initialize="showEvent(event)"???
  22. ????????creationComplete="showEvent(event)"???
  23. ????????updateComplete="showEvent(event)">??
  24. ????????<mx:Button?id="btn1"??
  25. ????????????preinitialize="showEvent(event)"???
  26. ????????????initialize="showEvent(event)"???
  27. ????????????creationComplete="showEvent(event)"???
  28. ????????????updateComplete="showEvent(event)"/>??
  29. ????</mx:Canvas>??
  30. ????<mx:Button?id="btn2"??
  31. ????????????preinitialize="showEvent(event)"???
  32. ????????????initialize="showEvent(event)"???
  33. ????????????creationComplete="showEvent(event)"???
  34. ????????????updateComplete="showEvent(event)"/>??
  35. </mx:Application>??

?

输出:

349?>>?InitExample0?preinitialize??
  • 356?>>?canv1?preinitialize??
  • 359?>>?btn1?preinitialize??
  • 369?>>?btn1?initialize??
  • 370?>>?canv1?initialize??
  • 371?>>?btn2?preinitialize??
  • 372?>>?btn2?initialize??
  • 372?>>?InitExample0?initialize??
  • 476?>>?btn1?creationComplete??
  • 477?>>?btn1?updateComplete??
  • 477?>>?canv1?creationComplete??
  • 477?>>?canv1?updateComplete??
  • 477?>>?btn2?creationComplete??
  • 477?>>?btn2?updateComplete??
  • 478?>>?InitExample0?creationComplete??
  • 481?>>?InitExample0?updateComplete??
  • ?

    结论:

  • 就单个组件而言,事件的抛出顺序是preinitialize,initialize,creationComplete
  • 嵌套关系的两个组件(比如Canvas和button1),preinitialize先外后内,initialize和creationComplete先内后外。只是creationComplete要在下一次update才会发生。
  • 平行关系的两个组件(比如Canvas和button2),按mxml内的顺序,只有前面组件initialize结束后,后面的组件才会抛出preinitialize。
  • (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读