`
Franciswmf
  • 浏览: 778882 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

flex中的AppEvnet.dispatch

 
阅读更多
Flex事件总线AppEvent
为了使程序各模块间达到高内聚低耦合,各模块间的事件传递一般采用事件总线方式,即将要传递的事件派发到事件总线进行广播,然后在需要接收事件的模块中进行监听,这样就能使模块结构更加清晰,从代码结构上看,也更加符合软件设计标准。
[
//第一个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));
			}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics