看flex自定义事件好久了,有一些体会,现在写一些总结,如果有大侠看到,不对的地方希望指正。
flex自定义事件有三个部分:注册、派发,监听。
现在就以我做过的项目代码做总结
前提是这样的,有两个模块:课程模块和课程详细模块,为了松耦合,两个模块间不能互相调用。
现在有一个问题,在课程模块点击了课程列表中的一节课时,要把课程id从课程模块传到课程详细模块。
解决办法就是写一个自定义事件。
public class CourseDetailConEvent extends Event
{
/**
* 课程名称
* */
public var courseName:String;
/**
*课程Id
* */
public var courseId:int;
public function CourseDetailConEvent(type:String,bubbles:Boolean=false, cancelable:Boolean=false)
{
super(type, bubbles, cancelable);
}
}
自定义事件写好了
[Event(name="courseDetailCon", type="com.etmr.mcwss.commons.event.CourseDetailConEvent")]//注册
public class MainApp extends EventDispatcher
{
/**
* 给课程详细赋值课程Id和Name
*
* */
public function courseDetailCon(courseId:int):void{
var event:CourseDetailConEvent = new CourseDetailConEven("courseDetailCon");
event.courseId = courseId;
mainApp.dispatchEvent(event);//派发自定义事件 }
}
监听部分
public function FrameClass()
{
super();
mainApp.addEventListener("courseDetailCon",courseDetailConHandler);
}
/**
* 给课程详细赋值课程Id和名称事件
*/
public function courseDetailConHandler(event:CourseDetailConEvent):void{
courseDetail.init(event.courseId);
}
}
然后只要点击课程列表中一节点课时,课程id就从课程模块传到了课程详细模块
触发事件的地方
public class CourseClass extends SkinnableContainer
{
/**
* 课程的modelLocator
*/
private var modelLocator:ModelLocator = ModelLocator.getInstance();
/**
* 课程的Model信息
*/
[Bindable]
public var model:Model = modelLocator.model;
/**
* MainApp
*/
private var mainApp:MainApp = MainApp.mainApp;
/**
* List点击事件
*/
protected function courseList_changeHandler(event:IndexChangeEvent):void
{
// TODO Auto-generated method stub
var courseObj:Object = model.courseCollection.getItemAt(event.newIndex);
var courseId:int = parseInt(courseObj["courseId"]);
mainApp.courseDetailCon(courseId);
}
}
- 大小: 53.3 KB
- 大小: 55.2 KB
- 大小: 49.5 KB
- 大小: 24.5 KB
分享到:
相关推荐
### Flex自定义事件详解 Flex 是一款用于构建和部署跨平台桌面应用与移动应用的开源框架,它基于Adobe Flash Platform。在Flex应用开发过程中,事件处理机制是非常重要的一个环节,而自定义事件则是这一机制中的...
### 二、Flex自定义事件 #### 1. 为什么需要自定义事件 Flex的内置事件(如 MouseEvent 和 Event)可能不足以满足所有交互需求。自定义事件允许开发者创建具有特定含义和数据的事件,以更好地匹配应用的业务逻辑。...
自定义事件是Flex开发中的一个重要概念,允许开发者扩展内置事件系统,以满足特定项目的需要。下面将详细介绍Flex4自定义事件的用法,以及如何在一个完整的项目中导入和运行。 1. **创建自定义事件类** - 首先,...
4. 示例学习:在"flex自定义组件事件DEMO"中,你可以看到如何在自定义组件中创建并派发自定义事件,以及如何在其他地方监听和响应这些事件。通过分析代码,可以了解事件生命周期、事件冒泡和捕获的概念,以及如何在...
这个主题聚焦于“flex自定义控件与事件”,这是一个关键的开发概念,特别是对于那些希望深入理解Flex架构和提升应用用户体验的开发者来说。 自定义控件在Flex开发中扮演着重要角色,它们允许开发者根据项目需求创建...
在Flex中,自定义组件是开发者根据项目需求创建的特殊UI元素,可以扩展和定制标准的MX或Spark组件。本示例着重于一个名为“ImageViewer”的自定义组件,这通常是一个用于展示图像并可能包含缩放、平移等交互功能的...
Flex自定义组件是Adobe Flex框架中的一个重要特性,它允许开发者创建具有特定功能和外观的UI元素,以满足项目中独特的用户界面需求。Flex是一个开源的、基于MXML和ActionScript的开发框架,主要用于构建富互联网应用...
### Flex自定义ToolTip详解 在Flex开发中,`ToolTip`是一种非常实用的界面元素,用于在用户悬停或聚焦某个控件时显示额外的信息。默认情况下,Flex提供了基本的`ToolTip`功能,但有时为了满足特定的设计需求或者...
在本文中,我们将深入探讨如何在Flex...总结来说,自定义Flex加载条是一项涉及组件样式、模板、动画和事件处理的综合工作。通过学习和实践这个示例,你可以掌握如何根据项目需求定制出独特的加载条组件,提升用户体验。
本篇文章将深入探讨如何在Flex环境中自定义实现一个具备展开、收缩功能的多级目录树形结构。 首先,让我们理解`Flex`布局。Flex布局,全称为Flexible Box,是一种用于容器中元素的布局模型,旨在提供更好的灵活性,...
在标题“各种Flex自定义组件”中,我们可以推断这是一个包含多种定制Flex组件的资源集合。这些组件可能包括时间选择器、数据网格(datagrid)、树形视图(tree)和下拉组合框(combox)。每个组件都有其特定的用途和...
Flex 自定义 时间 日历 控件
标题提到的"flex 自定义进度条",指的是利用Flex布局技术来设计一个可定制的进度条组件。Flex布局,全称为Flexible Box布局,是一种在CSS3中引入的布局模型,旨在提供更灵活的盒状模型布局方式,尤其适合在不同屏幕...
标题中的“flex自定义组件介绍”指的是在Adobe Flex框架中创建和使用自定义组件的过程。Flex是一个基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。自定义组件允许开发者根据特定需求扩展Flex...
综上所述,FLEX自定义等待图标资源为开发者提供了丰富的选项,帮助他们提升应用程序的用户体验。通过灵活地使用SWF和GIF资源,开发者可以创造出与应用风格相符且用户体验优良的等待动画。同时,理解和掌握如何在FLEX...
Flex 自定义公共包,可以在项目里直接使用
Flex自定义编辑项目是一种基于Adobe Flex技术的开发工具,它为用户提供了一种类似于Flash IDE的交互体验。这个项目的核心特点是其高度的可定制性,允许开发者进行多种视觉元素的编辑操作,如拖拽、放大、缩小、添加...
总的来说,掌握ActionScript的自定义组件和自定义事件是提升Flash和Flex开发技能的重要一步。通过实践和研究“WinCCALLMine”中的示例,你可以更好地理解这些概念,并将其应用到你的项目中,从而创造出独特且功能...
Flex中的高级自定义组件开发是构建复杂用户界面的关键技术,它允许开发者超越基本组件的限制,以满足特定的业务需求和视觉设计。在创建高级组件时,了解并掌握一些核心方法的重写至关重要,这些方法涉及到组件的生命...
"flex自定义文本编辑器"是一个这样的示例,它展示了如何利用Flex4框架构建一个具备特定功能的文本编辑工具,同时集成了自定义的拾色器功能。下面我们将详细探讨这个项目的相关知识点。 首先,我们关注的是`Text...