主页»Flash»全面知道Flex工作机制

全面知道Flex工作机制

来历:凯发娱乐官网 发布时刻:2012-03-05 阅览次数:

Flex有许多值得学习的当地,本文就向咱们简略介绍一下Flex工作机制,首要包括工作流,自界说工作等内容,信任经过本文的简略介绍你对Flex工作机制必定会有深入的知道。

Flex工作机制

Flex工作机制是观察者形式,即首要要注册工作,工作分发后经过工作呼应函数进行处理。

例如在AS3中:

button.addEventListener(“click”,onClick);//向button注册一个click工作
internalfunctiononClick(evt:MouseEvent):void{txt.text=“clickabutton!”;}
//工作呼应函数 

那么注册工作注册什么呢?经过addEventListener注册函数的参数能够看出,首要需求注册工作类型(第一个参数),然后注册呼应函数,即工作发作后需求做什么工作,也便是说调用哪一个办法。

◆那么呼应函数需求什么要求呢?

呼应函数必需求一个参数,指明注册的工作的工作类型,如上面的比如,咱们注册的是一个鼠标工作类型,即鼠标单击工作。注册的工作类型有必要和呼应函数的工作类型共同!

◆到底有哪些工作类型呢?

除了有体系默许的工作类型外,咱们能够界说自己的工作和工作类型。简略的说,工作类型便是界说在工作类的常量特色。

Flex工作机制中的工作流

1.捕获阶段(从根节点到子节点,检测方针是否注册了监听器,是则调用监听函数) 2.方针阶段(调用方针方针自身注册的监听程序) 3.冒泡阶段(从方针节点到根节点,检测方针是否注册了监听器,是则调用监听函数)注:工作发作后,每个节点能够有2个时机(2选1)呼应工作,默许封闭捕获阶段。从上到下(从根到方针)是捕获阶段,抵达了方针后是方针阶段,然后从方针向上回来是冒泡阶段。

怎样了解工作流?

当工作发作时,FLEX经过工作的分发器EventDispatcher进行工作分发,分发的次序是:从上往下抵达方针,然后从下往上,从方针开端回来。如上面1、2、3所说的那样,这儿就会有一个问题,在工作的流经过程中,不是方针的方针假如注册了工作,也有了相应的工作呼应函数,那么不是方针的方针呼应了工作的处理,这怎么办呢?因为上面说的那样,addEventListener在只需如上两个参数的牧人状况下是封闭捕获阶段的,也便是说工作流是从方针阶段开端的,然后是冒泡阶段,当呈现容器包括控件的时分,能够运用判别 if(evt.target==evt.currentTarget) 来确认当时工作流上的当时流经方针是否便是方针方针,假如是就进行相应的处理。

移除方针的工作流:removeEventListener(),参数与注册工作相同。阻断工作流中方针方针的后继工作,即经过了方针阶段后阻挠冒泡阶段: event类的办法:publicfunctionstopImmediatePropagation():void

Flex工作机制中的Event类

Event类作为创立Event方针的基类,当发作工作时,Event方针将作为参数传递给工作侦听器。如MouseEvent、KeyboardEvent,更多的能够查参考手册。

Event类有几个常用的公共特色:

是否冒泡:bubbles; 方针方针:target; 所在阶段:eventPhase; 当时方针:currentTarget; 从参考手册能够event类的结构函数:

Event()结构函数publicfunctionEvent(type:String,bubbles:Boolean=false,cancelable:Boolean=false) 创立一个作为参数传递给工作侦听器的Event方针。参数type:String—工作的类型,能够作为Event.type拜访。 bubbles:Boolean(default=false)—确认Event方针是否参加工作流的冒泡阶段。默许值为false。 cancelable:Boolean(default=false)—确认是否能够撤销Event方针。默许值为false。在flash.events包中能够看见体系自带的工作。

Flex工作机制中怎么自界说工作

自界说工作,也便是向监听器传递自己界说的工作类型,一起能够经过工作传递参数。

1.创立自界说工作称号的Event

dispatchEvent(newEvent(“myEvnet”,true,false)); 

2.创立自界说工作类

PublicclassMyEventextendsEvent{
   ....    
} 

dispatchEvent是EventDispatcher的办法:publicfunctiondispatchEvent(event:Event):Boolean将工作调度到工作流中。工作方针是对其调用dispatchEvent()办法的EventDispatcher方针。这句话便是说是哪个方针调用dispatchEvent(),那么该工作就会被分发到那个方针的工作流中,假如没有指明方针,那么默许为this方针,即应用程序。这时该工作被分发到应用程序方针的工作流中,而没有分发到特定方针的工作流中。一旦两个方针的不是父子联系(控件树),那么工作流不会在这两个方针之间有联络,那么工作不会被呼应;假如是,则仍是要呼应。(这种状况dispatchEvent的参数Event方针的参数有必要是三个,如上)。dispatchEvent便是阐明有了新的工作,只需注册了该工作,就能够呼应。

来历:xinem csdn.net

QQ群:凯发娱乐官网官方群(515171538),验证音讯:10000
微信群:加小编微信 849023636 邀请您参加,验证音讯:10000
提示:更多精彩内容重视微信大众号:全栈开发者中心(fsder-com)
m88 188bet uedbet 威廉希尔 明升 bwin 明升88 bodog bwin 明升m88.com 18luck 188bet unibet unibet Ladbrokes Ladbrokes casino m88明升 明升 明升 m88.com 188bet m88 明陞 uedbet赫塔菲官网 365bet官网 m88 help
网友谈论(共1条谈论) 正在载入谈论......
沉着谈论文明上网,回绝歹意咒骂 宣布谈论 / 共1条谈论
登录会员中心