一个Flex应用主要由两种不同的语言组成:ActionScript和MXML.现在,在Flex3.0中,ActionScript已经从一个基于原型的脚本语言发展为一个完全的面向对象,类型严格的ECMAScript语言.对于MXML,无论你是有HTML和XML工作经验的人还是标记语言的新手,它都是易于掌握的标记语言.
如何让MXML和ActionScript相互联系呢?编译器把它们从不同的语言解析之后,将它们转换成相同的对象,因此:
<mx:Button id="btn" label="My Button" height="100" />
和
var btn:Button = new Button(); btn.lanel = "My Button"; btn.height = 100;
将生成相同的对象.主要的区别在于,用ActionScript(第二个例子)中,除了创建了一个按钮,别无其他,而在MXML创建的对象,增加了按钮并包含了所有组件都有的MXML代码.Flex框架调用用MXML描述的对象的构造器,并将其添加到它的父节点或是将其设置成父节点的一个属性.
MXML文件可以通过<mx:Script>标签包含ActionScript,但是ActionScript不能包含MXML.尽管把MXML作为对外观和你的应用的组件的描述,将ActionScript作为事件处理和自定义你的应用所需的逻辑的描述的想法是诱人的,但这不总是真实的.一个将它们联系起来更好的办法是理解两种语言根本上只是通过不同的语法来描述相同的对象.Flash平台的某些部分,不能访问没有使用ActionScript中的循环,方法定义,和条件表达式等.这就是为什么使用ActionScript和综合使用MXML和ActionScript是必需的,除了那些简单的应用.
这一章讨论MXML和ActionScript结合的许多方面:在MXML中创建组件,在ActionScript中创建类,添加事件监听器,使用ActionScript和MXML创建code-behind文件,创建对方法的描述.虽然它没有包含所有的答案,但它将带你开始创建基础的ActionScript和MXML.
本文探讨了MXML和ActionScript在Flex应用开发中的角色。MXML作为一种易于掌握的标记语言,适合描述UI布局;而ActionScript则用于实现业务逻辑。文章详细解释了这两种语言如何互补,以及如何在MXML中嵌入ActionScript代码。
151

被折叠的 条评论
为什么被折叠?



