在Flex中使用ActionScript,其实和在网页中使用Javascript等脚本文件类似,主要有三种方式。
Flex的核心是MXML和ActionScript。MXML是用于为Flex应用程序进行用户界面组件布局,它属于表示层,最终要编辑成ActionScript 并生成ActionScript 类文件在Flash Player上运行。如果你是个Java开发者就很好理解这一点,MXML 就好比是JSP/Struts/JSF,它们最终都会编辑成Java类文件并在具备Java虚拟机环境的浏览器上运行。所以说,Flex 最核心的还是ActionScript 。在Flex中,ActionScript是 类库的方式出现的,该类库包含组件 (容器和控件)、管理器类、数据服务类和所有其他功能的类。本文将谈一谈在Flex中使用ActionScript的方法。
其实和在网页中使用Javascript等脚本文件类似,主要有三种方式。
1. 内联方式
这种方式直接将AS方法作为事件的属性值,当然这种方法一般只有一行,相对简单。如果要给方法传递对数,这种方法就不可取了。
1
2
3
4
5
6
7
8
9
10
11
12
13 |
<? xml version = "1.0" encoding = "utf-8" ?>
< mx:Application xmlns:mx = "http://www.adobe.com/2006/mxml" layout = "vertical" >
< mx:Button label = "Say Hello" click = "sayHello('Flying')" />
< mx:Script >
<![CDATA[
import mx.controls.Alert;
private function sayHello(param_name:String):void {
Alert.show("Hello, "+param_name);
}
]]>
</ mx:Script >
</ mx:Application >
|
2. 级联方式
这种方式将AS方法放入<mx:Script></mx:Script>代码块中,然后将方法作为事件的属性值,并可以在调用方法时传递参数,从而做到了AS方法在一个文件中的重用。
1
2
3
4
5
6 |
<? xml version = "1.0" encoding = "utf-8" ?>
< mx:Application xmlns:mx = "http://www.adobe.com/2006/mxml" layout = "vertical" >
< mx:Script source = "myFunction.as" />
< mx:Button label = "Say Hello" click = "sayHello('Flying');" />
</ mx:Application >
|
3. 外联方式
1
2
3
4
5 |
mx.controls.Alert;
private function sayHello(param_name: String ): void {
mx.controls.Alert.show( "Hello, " +param_name);
}
|
上述方式为AS方法单独新建一个as文件,然后设置该方法为被调用文件的Script元素的source属性值,并可以在调用方法时传递参数,此文件可以在多个文件调用,从而实现了AS方法在多个文件中的重用。