在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方法作为事件的属性值,当然这种方法一般只有一行,相对简单。如果要给方法传递对数,这种方法就不可取了。

<!--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方法在一个文件中的重用。

<!--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. 外联方式

//myFunction.asimport
mx.controls.Alert;
private function sayHello(param_name:String):void {
  mx.controls.Alert.show("Hello, "+param_name);
}

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

发表评论