在Flex中使用ActionScript的三种方法

在Flex中使用ActionScript的三种方法

在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
<!--main.mxml -->
<? 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
<!--main.mxml -->
<? 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
//myFunction.asimport
mx.controls.Alert;
private function sayHello(param_name: String ): void {
     mx.controls.Alert.show( "Hello, " +param_name);
}

上述方式为AS方法单独新建一个as文件,然后设置该方法为被调用文件的Script元素的source属性值,并可以在调用方法时传递参数,此文件可以在多个文件调用,从而实现了AS方法在多个文件中的重用。

你可能感兴趣的:(在Flex中使用ActionScript的三种方法)