flex可以对包裹组件起作用吗(flex的事件机制)

技术Flex事件机制中Flex事件分发和监听的示例分析这篇文章给大家分享的是有关Flex事件机制中Flex事件分发和监听的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是Flex事

本文将与您分享关于Flex事件机制中Flex事件的分布和监控的示例分析的内容。我觉得边肖很实用,就和大家分享一下作为参考。让我们跟着边肖看一看。

什么是Flex事件机制

Flex事件可以看作是一种触发机制,在满足一定条件时会触发此事件。例如,MouseEvent指的是操作鼠标时触发的一系列事件。很多控件中都有click事件,这个事件就是MouseEvent的一个实例。当鼠标被点击时,系统会自动抛出一个名为click的MouseEvent事件(这个方法后面会介绍)。如果此时在单击时注册了一个方法,该方法将在事件被触发时执行。

1.Flex事件分发

最终,从事件调度器继承的所有对象都将包含dispatchEvent方法,该方法有一个参数,即事件对象。

前面提到的事件注册渠道只是一个渠道。其实事件就是用这种方法分布的,渠道只是渠道。

他的功能是分发一个事件对象。他的分配没有目的。这是一种广播形式。Flex的事件监控线程将接收各种事件(我们称之为捕获事件,这将在后面介绍)。然后,您想要的事件由事件类型属性标识。

1)Flex事件对象

分发事件时,将分发事件对象。不管是哪个事件类,它都是继承自flash.events.Event对象,并且它包含一些重要的属性、类型和气泡。

类型是事件的类型,事件监视器使用此参数来识别它是否是它正在监视的事件。

气泡是一个布尔值,它决定了对象是否会被向上传递。默认值为false。这是什么意思?画一幅画,你就会明白了。

例如,当按钮组件分发点击事件对象时,气泡被设置为false,则它的分发是这样的。

示意图代码

dispatchEvent(new mouseevent(" click ",false));事件不能跨越组件本身,当然前面提到的注册通道除外(这很生动)

因此,如果通道未注册,则此按钮组件分发的事件无法在Flex的主应用程序中捕获。

如果我们设置泡泡为真,这就是他的样子。

dispatchEvent(new mouseevent(" click ",true));可以看到,这个事件可以跨越组件本身,到达Flex主应用。不仅如此,在帮助手册中明确表示,如果在传递过程中没有捕捉到,这个事件会一层一层上传到最后阶段,然后如果没有捕捉到,这个事件就会被销毁。

这样,即使我们没有click的事件通道,只要在Flex主应用程序中添加一个Flex addEventListener,就可以得到这个分布式click事件。

那么,注册通道不是没用吗?不是,我之前说过,注册通道是存在的,是可见的,所以如果你的组件要被别人使用,一目了然,不需要知道你的源代码中分布着什么事件。但是,不要听和注册同一个事件,它会重复。(我们稍后再谈)

2.Flex事件监听

在分发中,我们说如果没有通过注册通道调用触发事件,那么我们需要一个监视器来捕获它。如何捕获分布式事件是通过Flex事件的类型值来实现的。

比如:

MX : applicationxmlns : xmx 3360 applicationxmlns : MX=http://www . adobe.com/2006/mxml layout=' absolute ' xmlns : compcreationcomplete=' init()' MX : script![CData[private functioninit(){ TestBtn . AddEventListener("点击",ClickHandler);}Flex的事件都提供了一些静态常量,让我们调用它们来防止我们弄错。所以这句话可以这样写。

test BTN . addeventlistener(MouseEvent。点击,点击处理程序);我们可以看到在监控的回调方法中没有传递参数。是的,这和渠道写作的方式有点不一样。这里的回调方法(即clickHandler)只是一个引用,并不代表方法的执行。它的意思是告诉eventLinstener,如果它捕捉到了click事件,那么就去clickHandler执行,执行过程中事件对象参数是动态传递的。(如果你熟悉ajax,这里应该很容易理解)

这就是它的工作原理。如果你重新注册了点击的事件通道,那么两者都会生效,这显然是不必要的。

3.关于异步和执行顺序

前面的说法是错误的。as中没有线程的概念。远程请求时,结果事件和错误事件是异步的。如果您需要处理结果,您需要使用监控并在回调中获取您的远程数据。

当处理本地事件时,它们仍然是同步的。

回调方法的执行顺序甚至不如dispatchEvent之后的方法。如果下一个方法依赖于Flex事件回调,那么将下一个方法写入回调方法。

感谢阅读!“Flex事件机制中Flex事件分发和监控的示例分析”一文到此结束。希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/145780.html

(0)

相关推荐

  • 美国独享服务器租用特点

    技术美国独享服务器租用特点与廉价的虚拟主机不同,美国独享服务器需要单个网站或网络所有者使用服务器资源。服务器资源(如硬件、软件和操作系统)受到用户的完全控制。此外,物理服务器通常安装在数据中心内。虽然很多用户为了节省成本

    礼包 2021年11月3日
  • Python中怎么控制from xxx import *导入的成员

    技术Python中怎么控制from xxx import *导入的成员本篇内容介绍了“Python中怎么控制from xxx import *导入的成员”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下

    攻略 2021年11月25日
  • Git的常用操作命令有哪些

    技术Git的常用操作命令有哪些这篇文章主要为大家展示了“Git的常用操作命令有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Git的常用操作命令有哪些”这篇文章吧。

    攻略 2021年10月25日
  • 变脸是什么剧,究竟什么样的脸才称得上剧抛脸

    技术变脸是什么剧,究竟什么样的脸才称得上剧抛脸我觉得剧抛脸可以提名任嘉伦变脸是什么剧。所谓的剧抛脸就是同一个演员,他在演任何一部戏的时候没有他本人的影子。也没有他上一部作品的影子,演的就是这部作品中的角色。每演一部作品不

    生活 2021年10月29日
  • d13-接口和内部类

    技术d13-接口和内部类 d13-接口和内部类## 1.接口
    ### 1.1黑马信息管理系统集合改进 (应用)
    + 使用数组容器的弊端1. 容器长度是固定的,不能根据添加功能自动增长 2. 没有提供用

    礼包 2021年11月22日
  • wcf并发模式与实例模式(wcf大量数据缓存)

    技术WCF缓存机制怎么理解这篇文章主要讲解了“WCF缓存机制怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WCF缓存机制怎么理解”吧!缓存是很占内存的,缓存也有它

    攻略 2021年12月14日