FLex回调函数

A页面中弹出一个窗体B,在B中进行操作之后并将返回值传递回A页面,A页面接受返回值之后再进行相应的处理。

我所采取的做法:
    在B中做出如下声明:
var callback:Function;
var parentView:Object;
在B中需要回调的方法中写入:
callback.call(parentView,[参数列表]);

   在A中做如下处理:
var b:B
在A中弹出B页面的那个方法中写入:
b.parentView = this;
b.callback = callbackHandler;//callbackHandler是自定义的响应回调的方法
这样子就OK了。

弹出窗体代码 复制代码  收藏代码

 

<?xml version="1.0" encoding="utf-8"?>
<s:Group 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">
<fx:Script>
<![CDATA[
private var _callBackFunction:Function;
public function set callBackFunction(value:Function):void
{
_callBackFunction = value;
}
private function onClick(event:MouseEvent):void{
_callBackFunction.call(null,ti.text);
}
]]>
</fx:Script>
<s:VGroup width="100%" height="100%">
<s:TextInput id="ti"/>
<s:Button id="btn" label="Click me" click="onClick(event)" />
</s:VGroup>
</s:Group>

 

 

父窗体代码 复制代码  收藏代码
  1. var myView:MyComponent2 = PopUpManager.createPopUp(this,MyComponent2,false) as MyComponent2;   
  2. myView.callBackFunction = callBack;   
  3. PopUpManager.centerPopUp(myView);   
  4.   
  5. private function callBack(str:String):void{   
  6. trace(str);   
  7. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值