flex实现父窗口向子窗口传递参数
代码展示
父窗口
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.managers.PopUpManager;
import flash.geom.Point;
import mx.containers.TitleWindow;
import mx.controls.Text;
private var MyPoint:Point=new Point();
protected function button2_clickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
//Alert.show("123");
var tw:sanwei=new sanwei();
tw.mytext=label1.text;
PopUpManager.addPopUp(tw,this);
tw.x=MyPoint.x+400;
tw.y=MyPoint.y+200;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<s:Label text="纳税人"/>
</fx:Declarations>
<s:VGroup x="41" y="27" width="337" height="227" >
<s:Label id="label1" width="103" text="123"/>
<s:HGroup horizontalAlign="center" gap="100" width="100%" height="90" >
<s:Button label="视频一" click="button2_clickHandler(event)" />
</s:HGroup>
</s:VGroup>
</s:Application>
子窗口
<?xml version="1.0" encoding="utf-8"?>
<s:BorderContainer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300"
creationComplete="bordercontainer1_creationCompleteHandler(event)" >
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
public var mytext:String;
protected function image1_clickHandler(event:MouseEvent):void
{
this.visible=false;
}
protected function bordercontainer1_creationCompleteHandler(event:FlexEvent):void
{
var lujing:String="assets/"+ mytext +".mp4";
vd1.source=lujing;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:VideoDisplay id="vd1" x="-1" y="-1" width="314" height="230" chromeColor="#9A9898"/>
<s:Image x="286" y="-2" width="29" height="32" source="assets/关闭(1).png" buttonMode="true" click="image1_clickHandler(event)"/>
</s:BorderContainer>
:
关键点
- 子窗口中添加变量public var mytext:String;
- 主窗体内将值传给mytext例如:tw.mytext=label1.text;