Flex学习笔记
Flex是由界面语言MXML、脚本语言ActionScript组成的,主要针对开发人员,也就是代码写的较多的一类人。MXML用来划出界面,功用类似HTML。AS和JS同出规范ECMAScript,不过AS更加地面向对象,浏览器部署依赖Flash插件,桌面部署依赖AIR。JS是浏览器原生支持的,因为考虑安全性,JS无法访问客户端本地数据,这时候Flash只是作为一种替代。至于是否大量应用,还要看开发需求及开发者个人喜好。本人初学,如果有错误之错,敬请指正。
开发Flex应用一般使用Adobe的Flex Builder软件,或者基于Eclipse的Flex Builder插件。官方提供下载。
事件绑定
AS和JS事件绑定类似,不过AS不用考虑浏览器兼容了,直接对象调用addEventListener方法即可。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" creationComplete="initApp(event);">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
private function initApp(evt:FlexEvent):void {
this.addEventListener(MouseEvent.CLICK, getButtonInfo);
}
private function getButtonInfo(event:MouseEvent):void {
Alert.show(this['myButton'].label);
}
]]>
</mx:Script>
<mx:Button id="myButton" label="Click Me"></mx:Button>
</mx:Application
在Flex里实现JS的alert对话框,依赖mx.controls.Alert类。
创建了两个私有函数,initApp在Flex应用上绑定click事件,当鼠标点击Flex应用的时候,调用创建的第二个函数。
initApp是在Flex应用初始化完成之后调用的。creationComplete="initApp(event);"
通过id访问某个组件,使用this[id],this指代的是当前Flex应用。
AS调用JS方法
JS代码
function JSFunction() {
alert('JSFunction');
}
AS代码
public function callJSFunc():void {
ExternalInterface.call('JSFunction');
}
AS中使用ExternalInterface.call调用JS中的对象,该方法接受JS函数名字符串,可同时传递参数。
Flex事件绑定,手动触发事件
Obj.addEventListener(Event.CHANGE, onChange); Obj.dispatchEvent(new MouseEvent(Event.CHANGE)); // 手动触发绑定的事件
手动触发一般会在应用初始化之后调用。
现在还没有评论