[转]flex中Popup窗口访问父窗口的4种方法以及相互传值
1.如果使用MVC框架,相信这并不是一个问题。而如果没有使用的话,可以用类似的方法设置一个单例,子窗口和父窗口通过这个单例来交互消息,如果需要解耦,请发送自定义事件。总之,只要按照MVC思路来做就可以了。
2.类似JS,在子窗口的构造函数里增加一个参数,将父窗口传参进去。MXML没有构造函数,用一个属性来保存父窗口引用也可以。
3.无论是createPopUp还是addPopUp,他们都有一个返回值,得到子窗口的实例。可以对这个实例监听remove事件,并在这个事件中直接读取子窗口需要返回给父窗口的属性。(记得要将这个事件最终移除)
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Panel x="94" y="178" width="503" height="347" layout="absolute">
<mx:TextInput x="134" y="64" id="tit_usr" text="username"/>
<mx:TextInput x="134" y="125" id="tit_psw" text="password"/>
<mx:Button x="171" y="209" label="Submit" click="mytw_click()"/>
</mx:Panel>
<mx:Script>
<!--[CDATA[
import mx.containers.TitleWindow;
import mx.managers.PopUpManager;
import mx.controls.Text;
private var tw:titlewindow=new titlewindow();
private function mytw_click():void{
if(tw.visible){
PopUpManager.removePopUp(tw);
}
PopUpManager.addPopUp(tw,this);
PopUpManager.centerPopUp(tw);
tw.addEventListener("tw_click",update);
}
private function update(event:Event):void{
tit_usr.text=tw.tw_usr.text;
tit_psw.text=tw.tw_psw.text;
PopUpManager.removePopUp(tw);
}
]]-->
</mx:Script>
</mx:Application>
弹出窗口:
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="498" height="368" showCloseButton="true" close="PopUpManager.removePopUp(this)">
<mx:Label x="96" y="67" text=&
相关文档:
1.Performace包含4点:
(1)Latency反应时间(2)Scalability:抗压能力(3)Reliablity:稳定性(4)Availability:可用性
2.运行时生命周期:
Flex只有两帧frames:Preload frame 和 application frame。
每一个flex application 是一个MovieClip,因为每个flex application都有SystemManager,他是继承自
flash.dis ......
Flash/Flex也支持基于Socket的网络连接 ,服务器端可以是C++,VB,C#,Java等任一语言开发。监听一个网络端口便可以接收到Flash/Flex开发的客户端的连接。
ActionScript 3.0提供了通过Socket连接的方式与服务器端通信。这点是超越传统B/S结构的重要特征。这样使得网 ......
<?xml version="1.0" encoding="utf-8"?>
<s:Application name="Spark_NumericStepper_textInput_editable_test"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xml ......