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

flex中Popup窗口访问父窗口的4种方法以及相互传值

发布时间:2020-12-15 01:21:00 所属栏目:百科 来源:网络整理
导读:1.如果使用MVC框架,相信这并不是一个问题。而如果没有使用的话,可以用类似的方法设置一个单例,子窗口和父窗口通过这个单例来交互消息,如果需要解耦,请发送自定义事件。总之,只要按照MVC思路来做就可以了。 2.类似JS,在子窗口的构造函数里增加一个参数

1.如果使用MVC框架,相信这并不是一个问题。而如果没有使用的话,可以用类似的方法设置一个单例,子窗口和父窗口通过这个单例来交互消息,如果需要解耦,请发送自定义事件。总之,只要按照MVC思路来做就可以了。
2.类似JS,在子窗口的构造函数里增加一个参数,将父窗口传参进去。MXML没有构造函数,用一个属性来保存父窗口引用也可以。
3.无论是createPopUp还是addPopUp,他们都有一个返回值,得到子窗口的实例。可以对这个实例监听remove事件,并在这个事件中直接读取子窗口需要返回给父窗口的属性。(记得要将这个事件最终移除)

view plain
  1. <mx:Application?xmlns:mx="http://www.adobe.com/2006/mxml"?layout="absolute">??
  2. ?<mx:Panel?x="94"?y="178"?width="503"?height="347"?layout="absolute">??
  3. ??<mx:TextInput?x="134"?y="64"?id="tit_usr"?text="username"/>??
  4. ??<mx:TextInput?x="134"?y="125"?id="tit_psw"?text="password"/>??
  5. ??<mx:Button?x="171"?y="209"?label="Submit"?click="mytw_click()"/>??
  6. ?</mx:Panel>??
  7. ?<mx:Script>??
  8. ??<!--[CDATA[??
  9. ?import?mx.containers.TitleWindow;??
  10. ?import?mx.managers.PopUpManager;??
  11. import?mx.controls.Text;??
  12. private?var?tw:titlewindow=new?titlewindow();??
  13. private?function??mytw_click():void{??
  14. ??if(tw.visible){??
  15. ???PopUpManager.removePopUp(tw);??
  16. ???}??
  17. ???PopUpManager.addPopUp(tw,this);??
  18. ???PopUpManager.centerPopUp(tw);??
  19. ???tw.addEventListener("tw_click",update);??
  20. private?function?update(event:Event): ??tit_usr.text=tw.tw_usr.text;??
  21. ??tit_psw.text=tw.tw_psw.text;??
  22. ??PopUpManager.removePopUp(tw);??
  23. ?}??
  24. ??]]-->??
  25. ?</mx:Script>??
  26. ?</mx:Application>??

弹出窗口:

view plain
  1. <mx:TitleWindow?xmlns:mx="http://www.adobe.com/2006/mxml"?layout="absolute"?width="498"?height="368"?showCloseButton="true"?close="PopUpManager.removePopUp(this)">??
  2. ?<mx:Label?x="96"?y="67"?text="username"?width="97"?height="26"/>??
  3. ?<mx:Label?x="96"?y="128"?text="password"?width="97"?height="24"/>??
  4. ?<mx:TextInput?x="217"?y="65"?id="tw_usr"/>??
  5. ?<mx:TextInput?x="217"?y="126"?id="tw_psw"/>??
  6. ?<mx:Button?x="228"?y="239"?label="Click"?click="btn_click()"/>??
  7. ?<mx:Script>??
  8. ??<!--[CDATA[??
  9. ?import?mx.managers.PopUpManager;??
  10. ?import?mx.controls.Text;??
  11. ???
  12. private?function?btn_click():void{??
  13. ??dispatchEvent(new?Event("tw_click"));??
  14. ?}??
  15. ??]]-->??
  16. ?</mx:Script>??
  17. </mx:TitleWindow>??

文章来源于:http://www.voidcn.com/article/p-nuxmsbao-bcb.html

(编辑:李大同)

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

    推荐文章
      热点阅读