Programming Flex2 - 四.ActionScript

在Flex里AS和MXML可以结合使用。MXML主要负责创建UI,AS就负责数据模型和复杂的逻辑。

Flex 2对应AS 3,相比之前的版本。AS3兼容ECMA。支持包括正规化的类,接口,包,运行期异常处理,动态数据类型,映射,正则表达式,E4X(XML),等等。

AS的API分3层
Flash Player API
Flex框架API
自定义API

在Flex中使用AS,有4个地方可以放代码

内联在MXML标签中
分两种情况。一种是数据绑定,局限很大,只能放一句程序。
< mx:VBox >
    < mx:TextInput  id ="input"   />
    < mx:Text  id ="output"  text ="{'User input: ' + input.text}"   />
</ mx:VBox >

还有一种是事件处理,可以放多句程序,不过这样做显然不好。
< mx:Button  id ="alertButton"  label ="Show Alert"
    click
="mx.controls.Alert.show('Example');alertButton.x += 40;"   />

嵌套在MXML标签中
< mx:Button >
   
< mx:click >
   
<![CDATA[
        mx.controls.Alert.show("Example");
   
]]>
   
</ mx:click >
</ mx:Button >

在MXML脚本中
< mx:Script >
    
<![CDATA[
    import mx.controls.Alert;
    private function example( ):void {
        Alert.show("Example");
    }
    
]]>
</ mx:Script >

或者
< mx:Script  source ="code.as"   />
code.as不一定非要以.as作为扩展名。

在AS类中
一个文件名必须以.as结尾的文本文件。

MXML和AS的相关性
MXML与AS是一脉相承,尽管在语法上大相径庭,但在最终编译期MXML会转成AS。
固所有的MXML代码都可以找到类似的AS代码。
比如:
//  例子1
//  MXML
< mx:Button id = " Button "   />
//  AS
var button:Button  =   new  Button();

//  例子2
//  MXML
< mx:Button id = " button "  label = " Click "   />
//  AS
var button:Button  =   new  Button();
button.label 
=   " Click " ;

//  例子3
//  MXML
<? xml version = " 1.0 "  encoding = " utf-8 " ?>
< mx:Application xmlns:mx = " http://www.adobe.com/2006/mxml "  layout = " absolute " >
    
< mx:Button id = " Button "   />
</ mx:Application >
//  AS
package   {
    
import mx.core.Application;
    
import mx.controls.Button;
    
public class Example extends Application {
        internal var button:Button;
        
public function Example( ) {
            
super( );
            button 
= new Button( );
            addChild(button);
        }
   
    }

}

可以看出MXML比AS程序要来的简单,因为MXML在背后自动完成了很多事情。像初始化,设计布局等等。所以用MXML处理用户视觉要比AS方便,相反在业务逻辑上AS则更胜一筹。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值