Flex监听
<mx:Button label="点击这里" fontSize="16" click="changeText(event)"/>
在Button事件属性的修改中,event作为一个关键字来使用,而非自定义变量,因此我们可以在标签中直接使用event来创建当前组件所触发的事件对象。
ActionScript类Event构建的时候会把事件源组件作为一个成员属性,这样在事件监听器中,我们可以通过event来操作事件源组件。
在MXML中设定事件属性值的方式叫做事件监听器内建。这种方式适合应用在简单的事件处理上。如果遇到需要多个事件监听器联合使用等复杂的事件处理情况,则需要应用Flex的事件注册。
testBtn.addEventListener(EmEvent.GISOBJLOADCOMPLETE,clickHandler);
var evt:EmEvent=new EmEvent(EmEvent.GISOBJLOADCOMPLETE);
this.dispatchEvent(evt);
监听的回调方法中没有传递参数,是的,这和通道的写法有些不同,这里的回调方法(即clickHandler)只是个引用,并不是代表方法的执行,他的含义是,告诉eventLinstener,如果捕捉到click事件,那么就去找clickHandler,并执行它,EmEvent对象参数在执行时动态的传递。
as里是不存在线程概念的,在远程请求时,结果事件、错误事件都是异步的。如果你需要处理结果,需要利用监听,并在回调中获取你的远程数据。
而在处理本地事件时,他们仍然是同步的。