Flex通过事件传递参数

sinat_36063335 2016-09-06 04:12:31
现在有一个父页面的文本框,怎么将里面的数据绑定咋事件里,然后传到子页面的文本框里。这个过程代码是怎么实现的呢,谢谢各位,第一次用Flex,小白
...全文
2093 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
随心点儿 2016-10-24
  • 打赏
  • 举报
回复
父页面:
<?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">
<s:layout>
<s:VerticalLayout/>
</s:layout>

<fx:Script>
<![CDATA[
import mx.managers.PopUpManager;
protected function btn_clickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
var win:paramWin = paramWin(PopUpManager.createPopUp(this,paramWin,true));
win.callLater(function():void
{
win.dispatchEvent(new MyEvents("getParentParam",txt.text));
});
PopUpManager.centerPopUp(win);
}
]]>
</fx:Script>

<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<mx:FormItem label="输入要传到子页面的参数" direction="horizontal">
<mx:TextInput id="txt" />
<mx:Button id="btn" label="点击弹出" click="btn_clickHandler(event)"/>
</mx:FormItem>
</s:Application>


子页面:
<?xml version="1.0" encoding="utf-8"?>
<s:TitleWindow 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="titlewindow1_creationCompleteHandler(event)"
close="PopUpManager.removePopUp(this)">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.managers.PopUpManager;

protected function titlewindow1_creationCompleteHandler(event:FlexEvent):void
{
// TODO Auto-generated method stub
this.addEventListener("getParentParam",getParentParamHandler);
}
private function getParentParamHandler(evt:MyEvents):void
{
txt.text = evt.Param;
Alert.show("接收到的参数为"+txt.text);
}

]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<mx:FormItem label="子页面接收的参数">
<s:TextInput id="txt" />
</mx:FormItem>
</s:TitleWindow>


事件类:
package
{
import flash.events.Event;

public class MyEvents extends Event
{
public var Param:String = "";
public function MyEvents(type:String,strParam:String, bubbles:Boolean=false, cancelable:Boolean=false)
{
super(type, bubbles, cancelable);
Param = strParam;
}
}
}
你可拷贝下来试运行一下,就可以看见结果如下图所示:

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧