在Flex中传递参数

有很多朋友都问如何在Flex中的2个"窗体"(以下我也这么称呼)之间进行调用和传递参数
下面我就给大家讲解一下:

1. 调用窗体
A 窗体是一个applicaton窗体 B 窗体是自定义窗体(类似Dialog之类的窗体,本身并不能独立运行)
A 窗体 片断代码如下:

<mx:Script>
<![CDATA[
import mx.containers.TitleWindow;
import mx.managers.PopUpManager;
function ShowDetailDialog(){
var oInitObj:Object = new Object();
  oInitObj.title = "FX-Blog Details";
  oInitObj.width = 400;
  oInitObj.height = 480;
  oInitObj.x = 350;
  oInitObj.mainApp = this;
  oInitObj.strDetailTitle = "aaa";
  oInitObj.strDetailDetails = "bbb";
  var DetailsDialogInstance:Object = TitleWindow(PopUpManager.createPopUp(_root, B, true, oInitObj, false))
}
 ]]>
 </mx:Script>
 <mx:Button label="Click" click="ShowDetailDialog()" width="61"/>

B 窗体 片断代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.macromedia.com/2003/mxml"
closeButton="true"
click="this.deletePopUp();"
alpha="50" initialize="initComponent()">
<mx:Script>
<![CDATA[
  public var mainApp:index = null;
  public var strDetailTitle:String;
  public var strDetailDetails:String;
}
]]>
</mx:Script>
<mx:TextArea" text="{strDetailTitle}" editable="false" width="100%" alpha="0" height="240" vScrollPolicy="auto"/>
<mx:TextArea" text="{strDetailDetails}" editable="false" width="100%" alpha="0" height="240" vScrollPolicy="auto"/>
</mx:TitleWindow>

以上,当在A窗体点击button的时候,触发Click event然后调用ShowDetailDialog这个function,在这个function中红色的字体是必须要注意的,其中strDetailTitle和strDetailDetails这个两个变量就是要传递参数的变量和B窗体中的strDetailTitle和strDetailDetails必须一致,否则在Flex中不认哦。这样当点击button后,就会调用B窗体并且把strDetailTitle和strDetailDetails传递到B窗体的textArea中了
其中
var DetailsDialogInstance:Object = TitleWindow(PopUpManager.createPopUp(_root, B, true, oInitObj, false)
这行代码中的B一定要和A在同一个文件夹中,并且名字和和B的外部名称一致,否则也会失败的! 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值