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

【你不知道的flex】-【state状态切换之初始化方法】

发布时间:2020-12-15 04:50:50 所属栏目:百科 来源:网络整理
导读:一:背景 flex全屏切换的效果 二:目的 1:状态2=》状态1 2:切换执行状态1的初始化方法(某方法,我们一般是init方法,你懂得) 注:看似很简单,那么来试试吧。 三: code mx:states ??mx:State name=”s1″? ???mx:AddChild position=”lastChild”?? ???

一:背景

flex全屏切换的效果

二:目的

1:状态2=》状态1

2:切换执行状态1的初始化方法(某方法,我们一般是init方法,你懂得)

注:看似很简单,那么来试试吧。

三:code

<mx:states>
??<mx:State name=”s1″? >
???<mx:AddChild position=”lastChild”?? >
????<local:s1? id=”mainapp” horizontalCenter=”0″ verticalCenter=”0″ width=”100%” height=”100%”>
????</local:s1>
???</mx:AddChild>
???
??</mx:State>
??<mx:State name=”s2″>
???<mx:AddChild position=”lastChild”>
????<local:s2 />
???</mx:AddChild>
??</mx:State>
?</mx:states>

状态s1,状态s2两个状态

s1,s2是两个自定义组件

关键代码:请看红色部分

<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Canvas xmlns:mx=”http://www.adobe.com/2006/mxml” width=”100%” height=”100%” creationComplete=”init()” addedToStage=”init2()” >
?
?
?<mx:Script >
??<![CDATA[
???
???
???private function init():void{
????trace("s1 init");
???}
???
???private function init2():void{
????trace("s1 init2");
???}
??]]>
?</mx:Script>
?
?<mx:Label x=”106″ y=”115″ text=”S1=状态1″ fontSize=”36″ fontWeight=”bold”/>
?
?
</mx:Canvas>

?

四:输出

s1 init
s1 init2
s1 init2
s1 init2
s1 init2
s1 init2
s1 init2
s1 init2
s1 init2

init只是第一次执行,init2每次切换的时候都执行

五:结论

状态切换时候initialize,creationComplete的方法,都只是执行一次,多次切换,仅执行一次。

如果需要每次切换,请将方法写到addedToStage=“init()”。

六:源码下载
点我下载

(编辑:李大同)

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

    推荐文章
      热点阅读