如果在flex开发中想用event来触发事件,相关component又离得很远,除了bind,还可以用全局event来触发。
1. 先定义一个event
package components.event { import flash.events.Event; import flash.events.EventDispatcher; public class LogoutEvent extends Event { public static const LOG_OUT:String = "LogoutEvent"; public static var dispatcher:EventDispatcher = new EventDispatcher(); public function LogoutEvent() { super(LOG_OUT); } } }
2. 在需要监听的component中添加监听。
LogoutEvent.dispatcher.addEventListener(LogoutEvent.LOG_OUT, onLogout); private function logout():void { var obj:Object = GlobalParams.initParams("user", "logout"); logoutService.url = "/logout"; logoutService.send(obj); }
3. 发送event:
LogoutEvent.dispatcher.dispatchEvent(new LogoutEvent());
4. 如果改组件需要被关闭或者删除,一定记得在remove的时候,把这个listener remove掉。。否则可能会引起内存泄漏。。
相关推荐
开发者也可以自定义事件类,扩展Event或Flex的其他事件基类,以满足特定需求。 在Flex应用中,事件处理不仅限于UI组件。数据模型和业务逻辑层也可以利用事件来协调工作。例如,当数据服务完成异步数据加载时,可以...
1. 定义事件类:通过继承Event类或其子类,如FlexEvent,定义自定义事件类,添加自己的属性和方法。 2. 分发自定义事件:在事件源中创建自定义事件实例,并使用dispatchEvent方法分发。 3. 注册监听器:与处理内置...
6. `flex_sdk` - 可能是SDK的一个副本,用于本地开发,避免依赖全局安装的SDK。 Flex项目开发涉及的主要知识点有: 1. **MXML** - 基于XML的声明式语言,用于构建UI组件和布局。 2. **ActionScript 3.0** - Flex的...
在Flash CS中,声明一个全局变量: ```as3 public var myVariable:Number = 0; ``` 然后在Flex中,通过`ExternalInterface`设置这个变量: ```mxml import flash.external.ExternalInterface; // 给Flash的变量...
- **ModelLocator**:模型定位器作为全局访问点,存储和管理模型对象,确保在整个应用中的一致性。 - **Controller**:控制器是视图和模型之间的桥梁,处理用户输入并启动适当的命令。 - **Service Locator**:...
Flex的DragManager类全局管理拖放操作。它提供了一些静态方法,如`startDrag()`,用于开始拖动操作,以及`allowDrop()`,用于控制组件是否可以作为目标区域。 5. **实例代码**: 通常,我们会在一个组件类中设置...
在Flex开发中,CSS(Cascading Style Sheets)是一种强大的工具,用于定义用户界面的外观和布局。通过动态地改变CSS样式,我们可以实现应用程序界面的实时更新,为用户提供更丰富的交互体验。本篇文章将深入探讨如何...
拖拽功能在Flex中可以通过使用内置的DragManager类和Event类来实现。DragManager类提供了全局的拖放管理,而事件类如MouseEvent和DragEvent则是处理拖放过程中的各种交互。下面我们将深入探讨如何在Flex中创建一个...
### Flex自动获取焦点与监听全局键盘事件 #### 一、背景介绍 在Flex开发中,自动获取焦点和监听全局键盘事件是两个常见的需求。尤其是在创建桌面应用或需要实时响应用户输入的应用场景中尤为重要。本文将详细介绍...
它是全局的单一实例,存储了应用的数据模型,使得任何地方都可以访问和修改模型状态。在`UserManagerDemo`中,ModelLocator可能包含用户信息、登录状态等关键数据,这些数据在应用的多个地方都能被访问和使用。 ...
`DragManager` 是Flex中全局的拖放管理器,负责处理所有的拖放操作,而`DragSource` 则是定义拖放源的类,它定义了被拖动的数据以及与之相关的视觉效果。 首先,要实现拖放操作,你需要设置一个可拖动的组件。这...
5. **Event**:定义了应用程序中的自定义事件,用于在组件之间传递消息。 6. **Proxy**:作为客户端和服务器之间的中间层,处理远程调用和数据转换。 在这个Flex Cairngorm Java实例中,Java技术如J2EE(Java 2 ...
- **服务定位器(Service Locator)**:提供服务对象的全局访问。 - **事件(Event)**:在组件之间传递信息的方式。 2. **实现Flex登录界面** - 使用Flex Builder或类似的工具创建一个新的Flex项目。 - 设计...
5. **事件(Event)**:在组件之间传递信息的机制,可以是自定义事件或者Flex内置事件。 6. **服务Locator**:提供依赖注入,方便获取服务对象,如模型、工厂等。 7. **代理(Proxy)**:封装与远程服务的通信,简化数据...
Cairngorm的Service Locator模式用于全局对象的管理,如`Locator`类。你可以在这里注册并获取服务实例,以保持应用的松耦合。 7. **代理(Proxy)**: 代理类用于封装数据访问逻辑,通常是远程服务调用。创建一个...
EventDispatcher用于事件传递,Command处理业务逻辑,ServiceLocator管理服务对象,Controller协调视图和模型,ModelLocator则存储全局数据。 Parsley是Spring ActionScript项目的一部分,是一个更强大的依赖注入...
这段JavaScript代码监听了全局的`contextmenu`事件(即鼠标右键点击事件),如果目标元素是具有`.flex-item`类的元素,就阻止默认的右键菜单显示。这种方式可以更有效地防止用户通过右键操作。 需要注意的是,禁用...
6. Events and Event Handling:Flex应用程序中的组件可以触发和监听事件,通过事件处理函数响应用户的交互。 7. Services and Remoting:Flex提供了一套强大的服务连接工具,可以方便地与后台服务器进行数据交换,...
4. **服务定位器(Service Locator)**:提供对应用程序服务的全局访问,例如远程服务、数据存储服务等。 5. **事件代理(Event Broker)**:用于发布和订阅事件,它是MVC模式中的关键部分,允许不同组件之间通信,...
在GIS应用开发中,鹰眼图(又称小地图或迷你地图)是一种常见的辅助导航工具,它在主地图旁边提供了一个小型的缩略视图,帮助用户快速定位和理解全局地理分布。本篇文章将详细探讨如何使用ArcGIS API for Flex来实现...