`
javasogo
  • 浏览: 1845484 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Flex基本语法

阅读更多
Flex基本语法
绝大多数MXML标识符合AS2.0规范,MXML文件编译产生的SWF文件包含相应的AS对象。
AS2.0是一种面向对象的语言,符合ECMAScript第4版规范。
MXML文件的命名规范:
1 : 必须符合AS的命名规范,以字母或下划线开头;
2 : 不得使用AS的类名、组件ID标识和命名空间的MXML标识作为文件名;
3 : 文件名必须用小写的.mxml作为后缀名。

在MXML文件中,组件的属性使用和AS类相同的命名约定,以小写字母开头,每个单词的开头字母大写。你可以有两种方式设置属性的值:使用标记的属性或者子节点标记。Macromedia推荐使用标记的属性来设置一般组件属性,复杂的组件属性用子节点来完成。MXML的组件属性包含如下:
标量属性(包括数字及字符串)
如:
  1. <Labelwidth='50'height='25'text='HelloWorld'/>

注意:属性的值不能包含@符号

数组属性
  1. <mx:List>
  2. <mx:dataProvider>
  3. <mx:Array>
  4. <mx:Number>94062</mx:Number>
  5. <mx:Number>14850</mx:Number>
  6. <mx:Number>53402</mx:Number>
  7. </mx:Array>
  8. </mx:dataProvider>
  9. </mx:List>
  10. mx:dataProvider>
  11. <mx:Array>
  12. <mx:Number>94062</mx:Number>
  13. <mx:Number>14850</mx:Number>
  14. <mx:Number>53402</mx:Number>
  15. </mx:Array>
  16. </mx:dataProvider>
  17. </mx:List>
  18. mx:Array>
  19. <mx:Number>94062</mx:Number>
  20. <mx:Number>14850</mx:Number>
  21. <mx:Number>53402</mx:Number>
  22. </mx:Array>
  23. </mx:dataProvider>
  24. </mx:List>
  25. mx:Number>94062</mx:Number>
  26. <mx:Number>14850</mx:Number>
  27. <mx:Number>53402</mx:Number>
  28. </mx:Array>
  29. </mx:dataProvider>
  30. </mx:List>
  31. mx:Number>14850</mx:Number>
  32. <mx:Number>53402</mx:Number>
  33. </mx:Array>
  34. </mx:dataProvider>
  35. </mx:List>
  36. mx:Number>53402</mx:Number>
  37. </mx:Array>
  38. </mx:dataProvider>
  39. </mx:List>
  40. mx:Array>
  41. </mx:dataProvider>
  42. </mx:List>
  43. mx:dataProvider>
  44. </mx:List>
  45. mx:List>
  46. <mx:dataProvider>
  47. <mx:Array>
  48. <mx:Number>94062</mx:Number>
  49. <mx:Number>14850</mx:Number>
  50. <mx:Number>53402</mx:Number>
  51. </mx:Array>
  52. </mx:dataProvider>
  53. </mx:List>
  54. <mx:Array>
  55. <mx:Number>94062</mx:Number>
  56. <mx:Number>14850</mx:Number>
  57. <mx:Number>53402</mx:Number>
  58. </mx:Array>
  59. </mx:dataProvider>
  60. </mx:List>
  61. <mx:Number>94062</mx:Number>
  62. <mx:Number>14850</mx:Number>
  63. <mx:Number>53402</mx:Number>
  64. </mx:Array>
  65. </mx:dataProvider>
  66. </mx:List>
  67. <mx:Number>14850</mx:Number>
  68. <mx:Number>53402</mx:Number>
  69. </mx:Array>
  70. </mx:dataProvider>
  71. </mx:List>
  72. <mx:Number>53402</mx:Number>
  73. </mx:Array>
  74. </mx:dataProvider>
  75. </mx:List>
  76. </mx:Array>
  77. </mx:dataProvider>
  78. </mx:List>
  79. </mx:dataProvider>
  80. </mx:List>
  81. </mx:List>


脚本对象
因为脚本对象比较复杂,所以一般使用子节点的方式来设置属性的值,如:
  1. <mynamespace:MyComponent>
  2. <mynamespace:nameOfProperty>
  3. <objectTypeprop1='val1'prop2='val2'/>
  4. </mynamespace:nameOfProperty>
  5. </mynamespace:MyComponent>
  6. mynamespace:nameOfProperty>
  7. <objectTypeprop1='val1'prop2='val2'/>
  8. </mynamespace:nameOfProperty>
  9. </mynamespace:MyComponent>
  10. objectTypeprop1='val1'prop2='val2'/>
  11. </mynamespace:nameOfProperty>
  12. </mynamespace:MyComponent>
  13. mynamespace:nameOfProperty>
  14. </mynamespace:MyComponent>
  15. mynamespace:MyComponent>
  16. <mynamespace:nameOfProperty>
  17. <objectTypeprop1='val1'prop2='val2'/>
  18. </mynamespace:nameOfProperty>
  19. </mynamespace:MyComponent>
  20. <objectTypeprop1='val1'prop2='val2'/>
  21. </mynamespace:nameOfProperty>
  22. </mynamespace:MyComponent>
  23. </mynamespace:nameOfProperty>
  24. </mynamespace:MyComponent>
  25. </mynamespace:MyComponent>



脚本对象数组
  1. <mynamespace:MyComponent>
  2. <mynamespace:dataProvider>
  3. <mx:Array>
  4. <mynamespace:ListItemlabel='One'data='1'/>
  5. <mynamespace:ListItemlabel='Two'data='2'/>
  6. </mx:Array>
  7. </mynamespace:dataProvider>
  8. </mynamespace:MyComponent>
  9. mynamespace:dataProvider>
  10. <mx:Array>
  11. <mynamespace:ListItemlabel='One'data='1'/>
  12. <mynamespace:ListItemlabel='Two'data='2'/>
  13. </mx:Array>
  14. </mynamespace:dataProvider>
  15. </mynamespace:MyComponent>
  16. mx:Array>
  17. <mynamespace:ListItemlabel='One'data='1'/>
  18. <mynamespace:ListItemlabel='Two'data='2'/>
  19. </mx:Array>
  20. </mynamespace:dataProvider>
  21. </mynamespace:MyComponent>
  22. mynamespace:ListItemlabel='One'data='1'/>
  23. <mynamespace:ListItemlabel='Two'data='2'/>
  24. </mx:Array>
  25. </mynamespace:dataProvider>
  26. </mynamespace:MyComponent>
  27. mynamespace:ListItemlabel='Two'data='2'/>
  28. </mx:Array>
  29. </mynamespace:dataProvider>
  30. </mynamespace:MyComponent>
  31. mx:Array>
  32. </mynamespace:dataProvider>
  33. </mynamespace:MyComponent>
  34. mynamespace:dataProvider>
  35. </mynamespace:MyComponent>
  36. mynamespace:MyComponent>
  37. <mynamespace:dataProvider>
  38. <mx:Array>
  39. <mynamespace:ListItemlabel='One'data='1'/>
  40. <mynamespace:ListItemlabel='Two'data='2'/>
  41. </mx:Array>
  42. </mynamespace:dataProvider>
  43. </mynamespace:MyComponent>
  44. <mx:Array>
  45. <mynamespace:ListItemlabel='One'data='1'/>
  46. <mynamespace:ListItemlabel='Two'data='2'/>
  47. </mx:Array>
  48. </mynamespace:dataProvider>
  49. </mynamespace:MyComponent>
  50. <mynamespace:ListItemlabel='One'data='1'/>
  51. <mynamespace:ListItemlabel='Two'data='2'/>
  52. </mx:Array>
  53. </mynamespace:dataProvider>
  54. </mynamespace:MyComponent>
  55. <mynamespace:ListItemlabel='Two'data='2'/>
  56. </mx:Array>
  57. </mynamespace:dataProvider>
  58. </mynamespace:MyComponent>
  59. </mx:Array>
  60. </mynamespace:dataProvider>
  61. </mynamespace:MyComponent>
  62. </mynamespace:dataProvider>
  63. </mynamespace:MyComponent>
  64. </mynamespace:MyComponent>



XML数据
  1. <mynamespace:MyComponent>
  2. <mynamespace:valuexmlns:a='http://www.example.com/myschema'>
  3. <mx:XML>
  4. <a:purchaseorder>
  5. <a:billingaddress>
  6. ...
  7. </a:billingaddress>
  8. ...
  9. </a:purchaseorder>
  10. </mx:XML>
  11. </mynamespace:value>
  12. </mynamespace:MyComponent>
  13. mynamespace:valuexmlns:a='http://www.example.com/myschema'>
  14. <mx:XML>
  15. <a:purchaseorder>
  16. <a:billingaddress>
  17. ...
  18. </a:billingaddress>
  19. ...
  20. </a:purchaseorder>
  21. </mx:XML>
  22. </mynamespace:value>
  23. </mynamespace:MyComponent>
  24. mx:XML>
  25. <a:purchaseorder>
  26. <a:billingaddress>
  27. ...
  28. </a:billingaddress>
  29. ...
  30. </a:purchaseorder>
  31. </mx:XML>
  32. </mynamespace:value>
  33. </mynamespace:MyComponent>
  34. a:purchaseorder>
  35. <a:billingaddress>
  36. ...
  37. </a:billingaddress>
  38. ...
  39. </a:purchaseorder>
  40. </mx:XML>
  41. </mynamespace:value>
  42. </mynamespace:MyComponent>
  43. a:billingaddress>
  44. ...
  45. </a:billingaddress>
  46. ...
  47. </a:purchaseorder>
  48. </mx:XML>
  49. </mynamespace:value>
  50. </mynamespace:MyComponent>
  51. a:billingaddress>
  52. ...
  53. </a:purchaseorder>
  54. </mx:XML>
  55. </mynamespace:value>
  56. </mynamespace:MyComponent>
  57. a:purchaseorder>
  58. </mx:XML>
  59. </mynamespace:value>
  60. </mynamespace:MyComponent>
  61. mx:XML>
  62. </mynamespace:value>
  63. </mynamespace:MyComponent>
  64. mynamespace:value>
  65. </mynamespace:MyComponent>
  66. mynamespace:MyComponent>
  67. <mynamespace:valuexmlns:a='http://www.example.com/myschema'>
  68. <mx:XML>
  69. <a:purchaseorder>
  70. <a:billingaddress>
  71. ...
  72. </a:billingaddress>
  73. ...
  74. </a:purchaseorder>
  75. </mx:XML>
  76. </mynamespace:value>
  77. </mynamespace:MyComponent>
  78. <mx:XML>
  79. <a:purchaseorder>
  80. <a:billingaddress>
  81. ...
  82. </a:billingaddress>
  83. ...
  84. </a:purchaseorder>
  85. </mx:XML>
  86. </mynamespace:value>
  87. </mynamespace:MyComponent>
  88. <a:purchaseorder>
  89. <a:billingaddress>
  90. ...
  91. </a:billingaddress>
  92. ...
  93. </a:purchaseorder>
  94. </mx:XML>
  95. </mynamespace:value>
  96. </mynamespace:MyComponent>
  97. <a:billingaddress>
  98. ...
  99. </a:billingaddress>
  100. ...
  101. </a:purchaseorder>
  102. </mx:XML>
  103. </mynamespace:value>
  104. </mynamespace:MyComponent>
  105. ...
  106. </a:billingaddress>
  107. ...
  108. </a:purchaseorder>
  109. </mx:XML>
  110. </mynamespace:value>
  111. </mynamespace:MyComponent>
  112. ...
  113. </a:purchaseorder>
  114. </mx:XML>
  115. </mynamespace:value>
  116. </mynamespace:MyComponent>
  117. </mx:XML>
  118. </mynamespace:value>
  119. </mynamespace:MyComponent>
  120. </mynamespace:value>
  121. </mynamespace:MyComponent>
  122. </mynamespace:MyComponent>



样式属性
主要进行组件的样式控制,如
  1. <mx:TextAreaid='myText'text='helloworld'fontFamily='Tahoma'/>
  2. //和下面的AS代码是等效的
  3. myText.text='helloworld';
  4. myText.setStyle('fontFamily','Tahoma');
  5. //和下面的AS代码是等效的
  6. myText.text='helloworld';
  7. myText.setStyle('fontFamily','Tahoma');
  8. myText.text='helloworld';
  9. myText.setStyle('fontFamily','Tahoma');
  10. myText.setStyle('fontFamily','Tahoma');
  11. //和下面的AS代码是等效的
  12. myText.text='helloworld';
  13. myText.setStyle('fontFamily','Tahoma');
  14. myText.text='helloworld';
  15. myText.setStyle('fontFamily','Tahoma');
  16. myText.setStyle('fontFamily','Tahoma');



编译标记
编译标记并不直接对应AS类或其属性,主要有:

相关推荐

    flex基本语法总结

    以上内容涵盖了Flex ActionScript编程中的基础语法,包括变量、函数、循环、输出、对象、类型系统以及面向对象的特性。理解并熟练掌握这些知识点是编写Flex应用的基础。在实际开发中,还需要结合MXML、组件、事件...

    flex基础语法

    Flex基础语法是Adobe Flex开发中至关重要的部分,尤其在V4.0及以后的版本中。Flex是一种用于构建富互联网应用程序(RIA)的框架,它基于ActionScript语言,提供了强大的用户界面组件和布局管理能力。本文将详细介绍...

    flexbison语法分析自动生成工具的使用教程

    Flex和Bison是两个在编译原理领域广泛应用的开源工具,它们主要用于自动生成词法分析器(lexer)和语法分析器(parser)。本教程将详细讲解如何使用这两个工具来构建一个简单的编译程序。 Flex(以前称为lex)是一...

    aa.rar_flex_语法分析flex

    在IT领域,编译原理是计算机科学中的一个重要分支,它涉及到如何将高级语言转换为机器可...通过这种方式,开发者可以为新的编程语言或者现有语言的特定子集构建编译器的前端部分,为后续的语法分析和代码生成奠定基础。

    Flex布局基本语法.xmind

    Flex布局基本语法,各属性及其取值树状图整理

    Flex AS3语法学习

    该教程简单明了,适合有程序编写基础的人学习。

    display:flex布局语法

    以下内容将详细介绍Flex布局的语法和相关知识点: 1. Flex布局的基本概念: Flex布局适用于所有display属性为flex或inline-flex的容器。当一个容器被设置为flex布局后,它的子元素(flex项目)的布局将受Flex模型...

    语法分析flex-2.5.2

    Flex的基本工作原理是基于正则表达式,用户通过编写lex规格文件(通常命名为`.l`或`.ll`文件)来定义各种词法规则。在这些规则中,每一条都关联一个或者多个处理函数,当匹配到特定的文本模式时,就会调用对应的函数...

    Flex教程系列之(四) AS3语法——面对对象编程

    Flex教程系列之(一) AS3语法——编程基础 http://download.csdn.net/source/1161756 Flex教程系列之(二) AS3语法——流程控制语句 http://download.csdn.net/source/1161804 Flex教程系列之(三) AS3语法——控制...

    flex-MXML语法

    flex -MXML语法,介绍flex 的 mxml的基本语法构成,适合一般学习者使用

    Flex 入门,介绍Flex的基本语法信息和简单使用。较新的UI设计语言

    Flex 入门,介绍Flex的基本语法信息和简单使用。较新的UI设计语言

    flex弹性布局基本语法(修改版).pdf

    Flex 弹性布局基本语法 Flex 弹性布局是一种基于盒模型的传统解决方案,依赖于 display 属性 + position 属性 + float 属性。它可以简便、完整、响应式地实现各种页面布局。 开启 Flex 弹性盒子布局可以通过将元素...

    Flex第一步

    #### 三、Flex基础语法与编程模型 Flex编程涉及到以下几个方面: - **MXML**:Flex的主要标记语言,用于描述UI布局和组件属性。 - **ActionScript**:Flex的应用逻辑主要通过ActionScript实现,它是ECMAScript的一...

    Flex学习笔记-基本语法

    在本文中,我们将深入探讨Flex学习过程中的基础语法,特别是从AS2到AS3的变化。 首先,ActionScript 3(AS3)是AS的一个重大升级,它引入了完全的面向对象编程(OOP)概念。这意味着AS3具有类、继承、封装和多态性...

    flex&bison资料

    Bison生成的代码可以解析符合该文法的输入,构建抽象语法树(Abstract Syntax Tree, AST),这是编译器理解程序结构的基础。Bison使用Yacc语法,这是一种类似LALR(1)的解析方法,允许处理复杂语言的语法结构。在...

    词法分析器flex、语法分析器yacc、抽象语法树、解释器.zip

    通过Flex和Yacc生成的词法分析器和语法分析器处理输入的源代码,形成AST,然后由解释器执行AST上的操作。在这个案例中,`mygod.c` 和 `main.c` 可能实现了这个解释器,而`god.h`、`god.l` 和 `god.y` 提供了必要的...

    Flex 3权威指南[扫描版]

    #### 四、Flex基础语法学习 - **核心概念讲解**: - **MXML语言**:作为Flex的主要标记语言,MXML用于描述用户界面布局以及与之相关的业务逻辑。 - **ActionScript编程**:基于ECMAScript标准,ActionScript是用于...

    Flex_arcgis.doc

    - **Flex基本语法** - **Flex介绍**:Flex是一种支持RIA开发的框架,允许开发者构建具有高度交互性的用户界面。它将复杂的客户端处理能力与浏览器的广泛访问性相结合。 - **RIA特点**: 1. **丰富的数据模型**:...

    flex4视频教程-语法基础

    flex4视频教程之语法基础,教程讲的比较详细,帮助初学者很有好处!

Global site tag (gtag.js) - Google Analytics