Flex 是异步的...
这个大家应该是知道的...
那么,大家有没有对异步的开发方式困惑呢 ?
具体说就是...你不知道方法什么时候执行...
还是模糊,举个例子吧:
var request:URLLoader = new URLLoader();
request.addEventListener(Event.COMPLETE,loadStateInfo);
request.load(new URLRequest(this.file));
这个是Flex 读取远程资源的例子
这个语句监听了加载的完成,然后执行loadStateInfo函数
如果你需要同步机制怎么办?
加入你需要远程加载完成之后
再执行一些函数?
有人说很简单啊,在监听函数里面执行不就行咯...
加入你执行的函数需要传入参数呢? 那你如何传参?
比如你加载完成后要执行以下函数:
protected function moveEffect(target:UIComponent,targetX:int,targetY:int):void {
if (target.x != targetX || target.y != targetY) {
var move:Move = new Move(target);
move.xTo = targetX;
move.yTo = targetY;
move.play();
}
}
那你如何将所需的targetX和targetY传入给这个函数呢?
监听事件中 event:Event 这个对象有吗?
所以,你有几种选择...
1) 全局变量 或者 类属性
这个方法有点笨...但是有时候有用...
具体就是,设置一个或多个全局变量作为“暂时存储”,当方法完成后,再传入要执行的函数
2) 闭包特性
也就是不写出方法名,只有方法体:
this.addEventListener(LoadDataEvent.LOADDATA_EVENT,function(event:Event):void{
abc(arg1, arg2);
});
这样上面的arg1和arg2 这个2个参数,是局部的变量,但是使用了闭包这个特性
你就不用管它监听到事件后如何取得参数了,总之就是传进去了...
这样一说,大家会感觉闭包方法应该是非常好的...
但是...
我们必须又要面临的问题是...如果移除监听?
这个又成了难题...难道又用全局变量或者是属性?
那不成了第一个方法了?
如果监听的事件能像Timer类一样就好了...
/**延时执行.*/
var late:Timer = new Timer(300,1);
late.addEventListener(TimerEvent.TIMER_COMPLETE,function(event:TimerEvent):void {
removeElem(xFrom,yFrom);
});
late.start();
这个上面的第二种方法一样,使用了闭包的特性...
但是..又加上了Timer的特点...指定了监听次数...所以不用自己移除方法...
当然,局限性也凸显了...你需要定时...
说来说去... 小弟也没有什么好点子...
所以向各位请教...
或许这个问题早就有方法解决了的... 只是因为小弟见识不广,而导致这样的疑虑...
望指教...
分享到:
相关推荐
在本文中,我们将深入探讨基于Java的Flex事件监听机制,这是一种强大的工具,允许开发者响应用户交互和应用程序状态的变化。Flex事件模型是ActionScript 3.0的核心组成部分,它与Java的事件处理方式有所不同,但可以...
### Flex监听浏览器关闭事件 在Web开发中,有时我们需要对用户关闭浏览器窗口的行为进行监听,并在用户尝试关闭页面时给出提示或执行某些操作。本文将详细介绍如何利用Flex结合JavaScript实现这一功能。 #### 1. ...
本文将深入探讨Flex事件运行流程,特别是与`mx:Application.applicationComplete`、`creationComplete`以及Flex应用程序初始化顺序相关的知识点。 首先,Flex应用程序的启动始于`preloader`阶段,系统管理器...
"flex事件"这个概念可能指的是与Flex布局相关的JavaScript事件或者是在Flex容器中发生的交互事件。然而,由于提供的信息较少,无法明确具体是指哪些特定的事件。下面,我将详细介绍Flex布局的基础知识以及可能与之...
### Flex事件机制详解 #### 一、事件简介 在Flex框架中,事件是应用程序与用户交互的核心机制之一。它可以由多种触发源启动,包括但不限于用户的输入(如键盘按键、鼠标点击)、外部数据加载完成(例如WebService...
在 Flex 中,事件监听通常通过在 MXML 组件上添加事件处理函数来完成。例如,我们可以为 `Button` 组件的 `click` 事件添加一个处理函数,如 `clickHandler`,并在函数签名中传递 `event` 参数。这个 `event` 参数...
Flex事件代码生成器是一款专为Flex开发者设计的实用工具,旨在简化代码编写过程,提高开发效率。Flex是一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA)。在Flex应用开发中,处理各种用户...
Flex事件机制是Adobe Flex应用程序中处理用户交互和组件通信的核心组成部分。它主要涉及事件流、事件处理程序以及事件对象的概念,这些在构建富互联网应用程序(RIA)时扮演着至关重要的角色。下面将对这些概念进行...
Flex事件是Adobe Flex框架中的一个重要组成部分,它允许开发者在应用程序的不同组件之间传递信息,实现对用户交互、数据更新以及应用程序状态变化的响应。在Flex应用中,事件处理是构建动态和响应式用户界面的关键。...
Flex事件机制是Adobe Flex框架中的核心组成...通过这份资料“关于flex事件的讲解.pdf”,读者将能够全面掌握Flex事件机制,包括如何创建、监听和处理事件,以及如何优化事件性能,为构建富互联网应用程序打下坚实基础。
4. **事件流**:Flex事件流分为三个阶段:**捕获阶段**、**目标阶段**和**冒泡阶段**。捕获阶段是从舞台的最顶层(根节点)开始,逐级向下直到目标节点;目标阶段是到达并处理目标节点上的事件;冒泡阶段则是从目标...
Flex事件机制是Adobe Flex框架中一个关键的概念,它允许组件之间通过事件进行通信。在Flex中,事件机制的分发主要包括三个主要阶段:捕获阶段、目标阶段和冒泡阶段。下面将详细介绍这些阶段以及自定义事件的创建与...
自定义事件是Flex开发中的一个重要概念,允许开发者扩展内置事件系统,以满足特定项目的需要。下面将详细介绍Flex4自定义事件的用法,以及如何在一个完整的项目中导入和运行。 1. **创建自定义事件类** - 首先,...
### Flex事件机制详解 #### 一、引言 Flex是一个强大的框架,用于构建高性能的Web应用程序。对于初学者而言,理解和掌握Flex中的事件机制是非常重要的一步。本文将深入探讨Flex事件机制的基础概念、事件注册通道、...
Flex事件讲解 在Flex开发中,事件处理是构建交互式用户界面的重要组成部分。Flex是一个开源的、基于ActionScript的框架,用于创建富互联网应用程序(RIA)。它提供了丰富的组件库和强大的事件模型,使得开发者能够...
在这个例子中,可能会有各种事件监听器和处理函数,用于演示如何在Flex应用中响应用户操作。 通过理解和实践这个“flex 关于事件的例子”,初学者能够掌握Flex中事件处理的基本原理和用法,为构建交互式Flex应用...
Flex控件事件是Adobe Flex应用程序开发中的核心概念,主要用于实现用户交互和组件间的通信。在Flex中,控件(或称为组件)是构建用户界面的基本元素,如按钮、文本框、列表等。当用户与这些控件进行交互时,如点击...
### Flex事件解析以及Flex基础功能介绍 #### 一、Flex:终结B/S架构下的界面噩梦 在企业级应用开发领域,B/S架构因其易于部署、维护和强大的可扩展性,逐渐占据了主导地位。JavaEE作为B/S架构的中流砥柱,凭借其...
Flex ActionScript3.0事件机制的Demo, 举例说明了事件的三个阶段,事件的派发,事件的侦听,事件的拦截,自定义事件等相关知识点. 以上知识点在Demo中都有体现,初学者请仔细分析代码,加强理解,多调试、修改、验证以加深...
本文将深入探讨Flex事件的基础知识、事件模型、事件生命周期、事件监听器,以及如何自定义事件,旨在帮助初学者理解和熟练运用Flex的事件处理。 一、Flex事件基础 1. 事件模型:Flex采用的是基于发布/订阅...