flex includeimport

ActionScript代码

为了让你的MXML代码可读性增强,你可以在<mx:Script>标签内引用ActionScript代码文件,而不是把大块的代码都插入到<mx:Script>里。引用ActionScript有include和import两种方式。

在ActionScript中include和import有着截然不同的区别。Include是将一个文件中的代码拷贝到另一个文件中去,也就是将代码拷贝到include语句所在的位置上。Import是添加了对类或包的引用,这样你就可以访问其他的类中定义的对象和属性。通过import导入的代码文件必须存在于你导入的路径上。通过include导入代码文件,输入的文件地址必须与主文件要能在相对路径上寻找到,或者通过绝对路径也可以。

你可以在你的Flex应用程序中使用include语句和< mx:Script source="filename">标签来添加ActionScript代码。

你可以在<mx:Script>内使用import语句来引用你的Flex应用程序中可能需要的类和包。

注:一个是引入包和类,一个是引入代码文件

你可以在<mx:Script>标签内通过引用外部的ActionScrit文件来引入ActionScript代码。在编译的时候,编译器会将整个代码文件中的内容拷贝到你的MXML程序中,就像你真的在标签内写了代码一样。在<mx:Script>代码块中,ActionScript语句只能在函数内部。

引入的代码文件也可以定义静态变量和命名空间,引入其他的ActionScript文件,导入声明定义,和使用命名空间。但你不能将要导入的文件定义为类。

引入的ActionScript文件中定义的变量和函数可以允许给MXML文件中的任何组件使用。引入的ActionScript文件的名字不能与导入的ActionScript类的名字一样。

Flex可以访问导入的文件中的变量和函数,但不能添加新的类(本人理解为被导入的文件不能是个类),因为MXML文件本身就是一个类。

导入的AS文件不一定非要和MXML文件在同一个目录下。然而,你必须让你的程序能够在目录结构上正确识别到你的ActionScript代码文件。

下面有两种方法能在Flex应用程序中引入外部的ActionScript文件:

§ 使用<mx:Script>标签的source属性。这是引入外部ActionScript代码文件的首选方法。

§ 在<mx:Script>代码块中使用include语句

使用source属性来引入ActionScript文件

你可以在Flex应用程序中使用<mx:Script>标签的source属性来引入外部的ActionScript文件。这种方式可以让你的MXML文件中的代码不那么零乱而且还可以提高代码的可重用性。

不要让代码文件与程序文件的名字一样。这样会让编译器报错。下面的是IncludedFile.as文件的内容:

代码如下:

// usingas/includes/IncludedFile.as

public function computeSum (a:Number, b:Number):Number {

return a + b;

}

下面例子中引入了IncludedFile.as文件中的内容。该文件是在引入它的文件的子目录下。

代码如下:

<?xml version="1.0"?>

<!-- usingas/SourceInclude.mxml -->

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

<?xml version="1.0"?>

<!-- usingas/SourceInclude.mxml -->

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

<mx:Script source="includes/IncludedFile.as"/>

<mx:TextInput id="ta1st" text="3" width="40" x="170" y="24" textAlign="right"/>

<mx:TextInput id="ta2nd" text="3" width="40" x="170" y="52" textAlign="right"/>

<mx:TextArea id="taMain" height="25" width="78" x="132" y="82" textAlign="right"/>

<mx:Button id="b1" label="Compute Sum"

click="taMain.text=String(computeSum(Number(ta1st.text), Number(ta2nd.text)));"

x="105"

y="115"

/>

<mx:Label x="148" y="52" text="+" fontWeight="bold" fontSize="17" width="23"/>

</mx:Application>

<mx:Script>标签的source属性支持相对路径和绝对路径两种方式 。

注:你不能在同一个<mx:Script>标签内既使用source属性又写ActionScript代码。如果需要这么做的话,需要使用两个<mx:Script>标签。

Include指令一个ActionScript语句,可以把指定的文件中的内容拷贝到MXML文件中去。Include指令的语法如下所示:

include "file_name";

下面的例子中引入了myfuncitons.as文件:

代码如下:

<?xml version="1.0"?>

<!-- usingas/IncludeASFile.mxml -->

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

<mx:Script><![CDATA[

/* myfunctions.as文件定义了两个返回字符串的函数 */

include "includes/myfunctions.as";

]]></mx:Script>

<mx:Button id="myButton" label="Call Methods in Included File"

click="ta1.text=doSomething();ta1.text+=doSomethingElse()"

/>

<mx:TextArea width="268" id="ta1"/>

<mx:Button label="Clear" click="ta1.text=''"/>

</mx:Application>

你可以让每个include指令都指向单一个文件,也可以使用任意多的include指令语句。Include指令可以嵌套使用。通过include指令引入的文件中也可以通过使用include指令引入其他的文件。

转载于:https://www.cnblogs.com/JPAORM/archive/2011/04/13/2509818.html

flex include和import相关推荐

  1. freemarker include 和 import

    lib/my_test.ftl 模板内容如下: <#macto copyright date><p>Copyright (C)${date}Julia Smith.All ri ...

  2. #include,#import ,@class 有什么区别?

    #include 和 #import 有相同的效果,只不过#import 能确保头文件只被导入一次,不会引起重复导入.#import能把头文件的所有信息都获取到,包含这个类的变量和方法.而@class ...

  3. [转] iOS中@class #import #include 简介

    [转载自:http://blog.csdn.net/chengwuli125/article/details/9705315] 一.解析        很多刚开始学习iOS开发的同学可能在看别人的代码 ...

  4. @class #import辨析 #include

    解析:        很多刚开始学习iOS开发的同学可能在看别人的代码的时候会发现有部分#import操作写在 .m 文件中,而 .h 文件仅仅使用@class进行声明,不禁纳闷起来,为什么不直接把# ...

  5. #include #import @class 讲解

    #include 区分 #include 与#include "x.h"的作用 #include :它用于对系统自带的头文件的引用,编译器会在系统文件目录下去查找该文件 . #in ...

  6. python include函数_python 库函数

    python的内建函数和库函数的区别是什么? [区别]:标准库函数都需要import xxx才能取得.内建函数都在__builtins__里面,在global里直接就能用. [补充]:1.python ...

  7. flex采用blazeds实现服务器向客户端推数据

    前言: 有很多类似股票.外汇.期货等实时行情这种应用,客户端需要显示行情牌价等信息. 目前的作法是:客户端定时向服务器请求,无论数据是否有更新,都把数据发到客户端. 我们这里讲的一种技术不同以上这个做 ...

  8. Flex与外部的数据通信

    视频课:https://edu.csdn.net/course/play/7621 本章简介 第3章讲解了视图状态.Flex页面间的跳转.Flex应用的模态窗体.数据绑定.使用拖放,图表等知识.本章将 ...

  9. Flex与Java通信之HttpService方式

    2019独角兽企业重金招聘Python工程师标准>>> Flex用RemoteObject方式与Java通信是最常用的方式,这是一种最直观的方式.当然Flex也可以用HttpServ ...

最新文章

  1. Spring Boot不允许加载iframe问题解决
  2. OGG 同步报错 - TCP/IP error 111 (Connection refused)
  3. 错误602,未能在sysindexes中找到数据库 的解决办法
  4. ArcEngine开发之自定义工具
  5. solr的安装使用tomcat容器
  6. 如何做好Web 安全测试
  7. centos7.9使用jenkins部署springcloud微服务_配合SVN_脚本_实现自动部署后端以及前端程序_亲测成功---持续集成部署Jenkins工作笔记0023
  8. 华为鸿蒙手机开机动画,华为“鸿蒙”来了!开机动画美炸了,用PPT一分钟就搞定...
  9. 针织面料常见疵点及原因分析大全
  10. Automatic Updates服务无法启动
  11. php 内网全部ip,如何ping局域网内所有IP
  12. 在CSDN的第0篇博客
  13. 语义分析的一些方法(一)
  14. 图书信息管理系统报告linux,C语言图书管理系统 带程序报告
  15. 【微机原理笔记】第 4 章 - 8086 汇编语言程序设计
  16. Visual C++ 6.0 Processor Pack 编译xvidcore1.1.0
  17. 理解Alpha-Beta 剪枝算法
  18. idea创建j2ee_java实战项目教程分享(纯干货,建议收藏)
  19. Excel常用函数:汇总计算与统计
  20. 【C#】字体增大、减小、改变颜色

热门文章

  1. C/C++ 中的指针
  2. vs2010 c# 配置项问题
  3. 用SQL在文本文件中追加数据
  4. 2021总结-》2022年
  5. 那年我学过的Spring笔记
  6. 【网络安全工程师面试合集】—不要随便浏览一些奇怪的小网站哦
  7. 脚本_批量修改md为hexo标准post格式[博]
  8. java监听鼠标接口实现_自定义Java鼠标监听器?
  9. 熬夜做出的数据可视化,却被领导臭骂,只因这个......
  10. Flex in a Week video training