flex中的AppEvnet.dispatch

[color=red]Flex事件总线AppEvent [/color]
为了使程序各模块间达到高内聚低耦合,各模块间的事件传递一般采用事件总线方式,即将要传递的事件派发到事件总线进行广播,然后在需要接收事件的模块中进行监听,这样就能使模块结构更加清晰,从代码结构上看,也更加符合软件设计标准。
[
//第一个mxml中
var obj:Object={
message:"欢迎您, "+jsonobj.ROLENAME+","+jsonobj.USERNAME+"!"}

AppEvent.dispatch(AppEvent.SEND_MSG_TO_SHOWLOGININFO,obj);
//第二个mxml中
protected function basewidget1_creationCompleteHandler(event:FlexEvent):void
{
AppEvent.addListener(AppEvent.SEND_MSG_TO_SHOWLOGININFO,handler);
var login:SharedObject = SharedObject.getLocal("login","/");
// if(login.data.user != null&&login.data.user != ""){
// bcLoginMessage.visible = true;
// }else{
// bcLoginMessage.visible = false;
// }
if(!login.data.remember){
bcLoginMessage.visible = false;
lblMessage.visible = false;
login.clear();
}else{
bcLoginMessage.visible = false;
lblMessage.visible = false;
myServiceUser.checkUser(login.data.user,login.data.password);
}
}



	//切换tab
protected function checkbox1_changeHandler(evt:Event):void
{
var chkbox:CheckBox=evt.currentTarget as CheckBox;
//Alert.show("id:"+chkbox.id);
switch(chkbox.id){
case "chkVideoCal":
chkbox.selected?AppEvent.dispatch("Start_CalVideo"):AppEvent.dispatch("End_CalVideo");
break;
case "chkVideo":
chkbox.selected?AppEvent.dispatch(AppEvent.WIDGET_RUN, 5):AppEvent.dispatch(AppEvent.WIDGET_CLOSE,5);
break;
//协同会商
case "chkXTHS":
chkbox.selected?AppEvent.dispatch(AppEvent.WIDGET_RUN, 1):AppEvent.dispatch(AppEvent.WIDGET_CLOSE,1);
break;
//热力图
case "chkReLiTu":
chkbox.selected?AppEvent.dispatch(AppEvent.WIDGET_RUN, 10):AppEvent.dispatch(AppEvent.WIDGET_CLOSE,10);
break;
}
var obj:Object={
label:chkbox.label,
status:chkbox.selected
};
ViewerContainer.dispatchEvent(new AppEvent("tabEvent",obj));
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值