`
Franciswmf
  • 浏览: 800027 次
  • 性别: 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));
			}
分享到:
评论

相关推荐

    vuex中store存储store.commit和store.dispatch的用法

    `store.commit` 和 `store.dispatch` 是 Vuex 中用于管理和改变状态的核心方法,它们各自有不同的功能和应用场景。 **1. store.commit** `store.commit` 用于触发一个 **mutation**(状态变更事件)。Mutation 是 ...

    flex-event.zip_flex

    在Flex中,事件是用于传递信息的结构化对象,它们从一个源头(通常是组件)发送到其他感兴趣的接收者(监听器)。理解Flex事件的工作流程对于创建响应式和交互式的用户界面至关重要。 首先,让我们深入探讨Flex事件...

    java实现excel转换成html

    Dispatch workbook = Dispatch.call(workbooks, "Open", "path_to_your_excel_file.xlsx").toDispatch(); Dispatch worksheets = Dispatch.get(workbook, "Worksheets").toDispatch(); // 假设我们要转换第一个...

    vuex actions传递多参数的处理方法

    在我们的场景中,可以在调用`dispatch`时,将多个参数包装成一个对象,然后在`action`中通过解构赋值来获取这些参数。 例如,假设我们需要传递`task`和`index`两个参数: ```javascript // 在组件中调用action ...

    com.jacob:1.19.rar 下载

    Dispatch workbook = Dispatch.call(workbooks, "Open", "C:\\example.xlsx").toDispatch(); // 更多操作... } finally { ComThread.Release(); } } } ``` 这段代码创建了一个Excel应用程序实例,并打开了一本...

    swing-worker-1.1.jar

    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatch...

    vue element 关闭当前tab 跳转到上一路由操作

    this.$store.dispatch(‘delVisitedViews’, this.$route); this.$router.go(-1); 方法二 this.$store.state.tagsView.visitedViews.splice(this.$store.state.tagsView.visitedViews.findIndex(item => item.path...

    flexevent.rar_flex

    Flex事件机制是Adobe Flex应用程序开发中的关键组成部分,它允许组件之间进行通信,处理用户交互,以及实现复杂的逻辑。本文将深入探讨Flex事件的基础知识、事件模型、事件生命周期、事件监听器,以及如何自定义事件...

    解决Vue+Electron下Vuex的Dispatch没有效果问题

    在基于Vue和Electron的开发中,当尝试使用Vuex的dispatch方法来触发状态的改变时,可能会发现尽管代码中已经正确调用了dispatch方法,但状态并没有按照预期发生变化。这个问题可能跟Electron的运行环境以及Vuex的...

    jsp+servlet的备忘录

    this.dispatch(request,response,path); } if(action.equals("select")) { Memo memo = new Memo(); String path = memo.select(request, response); this.dispatch(request, response, path); ...

    Dispatch.dll

    2、复制压缩包中Crack目录中的dispatch.dll文件到安装程序下的\plugins\dispatch目录覆盖同名文件。默认目录为:C:\Program Files\Connectify\plugins\dispatch! 3、复制压缩包中Crack目录中的connectify.exe文件到...

    前端项目-d3-dispatch.zip

    "前端项目-d3-dispatch.zip" 是一个基于D3.js的项目,重点关注了D3中的“dispatch”概念。Dispatch在D3中是用来注册命名回调函数,并且能够传递参数调用这些函数,这对于处理事件和数据更新具有重要意义。 D3 ...

    StrangeIOC使用讲解(Dispatch用法)

    Dispatch 是StrangeIOC中的一个重要概念,它用于处理事件分发,帮助我们构建MVCS(Model-View-Controller-Servant)架构。在MVCS模式下,Dispatch起到了连接View和Controller或者Servant的桥梁作用,使得View能够...

    connectify dispatch 4.0完美破解版

    connectify dispatch 4.0完美破解版

    iOSputao#iOS-#十四、Dispatch Semaphore1

    1.dispatch_semaphore_create:创建一个Semaphore并初始化信号的总量 2.dispatch_semaphore_signal:发

    dispatch:python的简单调度包,从django.dispatch中提取

    调度:python中的信号广播 这个 python 库是从的提取的。 这个文档也改编自。 概述 当两个不相关的代码段相互依赖时,信号很有用。 一般模式是接收者(或听众)可以订阅(或收听)发送者的信号。 当发送者发送(或...

    win32实现dispatch_async博客文章配套项目

    参考博客 http://blog.csdn.net/infoworld/article/details/78361720

    django_view_dispatch:基于请求 HTTP 动词(GET、POST、PUT...)在 urls.py 中调度视图的 Django 实用程序

    urls import patterns , urlfrom django_view_dispatch import dispatch , dispatch_strictfrom . import viewsurlpatterns = patterns ( '' , url ( r'^some_url/$' , dispatch ( get = views . my_view , post = ...

    iOS应用程序中通过dispatch队列控制线程执行的方法

    1. dispatch_queue_t queue = dispatch_queue_create(“com.dispatch.serial”, DISPATCH_QUEUE_SERIAL); //生成一个串行队列,队列中的block按照先进先出(FIFO)的顺序去执行,实际上为单线程

Global site tag (gtag.js) - Google Analytics