您的位置:首页 > 其它

flex4学习笔记_events

2011-06-30 17:33 309 查看
Summary for events in flex4

(英语摘自原文,这个貌似只适合我自己看。。。)

In this chapter, I described the Flex event architecture and how you can create your own events to
share data between application components. You learned the following:

● a Flex applications are event-driven.

● Every component that dispatches events includes EventDispatcher in its inheritance hierarchy.

● You handle events with either MXML-based event handlers or the addEventListener() method.
调用event的处理函数一般有两种方式(MXML-based & AS),比如
<components:LoginForm login=”loginHandler(event)”/>
等同于
myForm.addEventListener(LoginEvent.LOGIN, loginHandler); //LoginEvent.LOGIN就是String("login")
这里的login对应于自定义组件LoginForm中的元数据声明

<fx:Metadata>
[Event(name=”login”, type=”events.LoginEvent”)]
</fx:Metadata>
类似的,Button也是一个组件,click就对应于login
<s:Button id="myButton" label="Click me" click="clickHandler(event)">

或者 myButton.addEventListener(MouseEvent.CLICK, clickHandler);
//这里clickHanlder不需要参数

● Event handler functions receive a single event argument and return void.

● Flash Builder 4 adds the capability to generate event handler functions for all Flex components and events.
这点确实好用,bible这本书上有详细的介绍

● You can declare and dispatch custom events from your custom components.

● You can create custom event classes to store and send data from custom components to the rest of the application.
在我看来,这点比较适用于数据交换、传递。在组件内监听一个事件,进行一些处理,把结果保存在event的属性上,比如event.text,在组件外可以通过handler function把这个属性传递给其他的组件属性。

● To make a custom event class bubble, set its bubbles property to true.
在我的理解,各个“容器”“从小到大”,依次响应event,比如click(如果设有handler function)

● Override the Event class’s clone() method if you want to be able to re-dispatch custom event objects from an event handler method.
这点不知道实际用途有哪些。。。

● You handle custom events and event classes with the same architecture as pre-built classes that are included in the Flex SDK.
这个就如同上面的类比
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: