对PopUpManager不熟悉? 请看: http://blog.5d.cn/user39/riahome/200709/437001.html
我们使用 PopUpManager创建一个子级弹出窗口:
PopUpManager.createPopUp(this, loginAlert, true)
通常会结合自定义的 MXML Component 一起使用:
var loginAlertWindow :loginAlert = loginAlert(PopUpManager.createPopUp(this, loginAlert, true));
上述例子, 我自定义了一个名为 loginAlert 的Component, 假如这个是用来登陆之用的, 里面有这些东西:
用户名输入框: <mx:TextInput id="userName"/>
密码输入框: <mx:TextInput id="pwd" displayAsPassword="true"/>
提交按钮: <mx:Button id="loginBtn" label="Login" click="loginBtnClick();"/>
发送数据的HTTPService控件: <mx:HTTPService id="userLogin" url="http://www.RiaHome.cn" />
的确, 我们在父级里可以这样来获取 loginAlert 里的数据, 譬如获得用户名输入框里的数据: loginAlert.userName.text 。但我希望一旦提交数据成功后, 也就是登陆成功后, 告诉父级需要干什么. 好了, 说到这样, 有经验的人可能有很多种不同的方法来解决这样的问题, 但我的方法是接下来介绍的那种, 如果大家有更好的办法, 请告诉一下, Thank you! ^_^
其实, 我的方法很简单, 只需在父级里添加侦听器, 侦听 loginAlert 里HTTPService控件 的 RESULT 事件罢了:
loginAlertWindow.userLogin.addEventListener(ResultEvent.RESULT, loginOKHandler);
需要父级干什么, 就把命令代码写在 loginOKHandler 函数里就行了.