在MXML中导入(import)和包含(include)AS代码的使用方法

为提高MXML代码的可读性,你可以通过<mx:Script>标签引入as代码来替代插入大块的脚本。同时您还可以包含(include)或导入(import)AS代码。
    包含(include)和导入(import)AS代码存在本质的区别。包含(include)是将一个文件中的代码拷贝到另一个,就像将内容粘贴到include标签所在的位置一样;导入(import)则是对一个类文件或包的引用,从而是您可以访问外部类的对象和属性。导入的文件必须位于源路径(source path)上,而包含的文件则必须位于MXML文件的相对路径上,或者使用绝对路径。
    通过使用<mx:Script source=”filename”>标签将AS代码包含到Flex程序中。
    在<mx:Script>块中,使用导入(import)的代码定义Flex程序需要使用的AS类或包。

    包含(include)AS文件
    要包含AS代码,你需要在<mx:Script>标签中引入外部as文件。在编译的时候,编译器as文件的内容直接复制到MXML程序中,就类似直接写的代码。跟<mx:Script>块中的AS一样,包含进来的AS语句也只能写在函数内部,不过可以在包含进来的as文件中进行常量和命名空间的定义,但不能在包含的文件中定义类。在包含文件中定义的变量和函数可以被MXML文件中的任一组件引用。
包含的AS文件不一定要跟MXML文件放在同一个目录。但应该按逻辑结构合理的组织后包含的AS文件。
在Flex程序中有两中方法包含外部的AS文件:
    1. <mx:Script>标签的source属性,推荐使用此方法包含外部AS文件。
    2. 在<mx:Script>块中使用include语句。
    注意:include指令只能位于可编写多行语句的位置。例如,下列写法不合法:
        if (expr)                                                                                                  
           include “foo.as”; // First statement is guarded by IF, but rest are not.
        …                                                                                                           

而正确写法如下:

        if (expr) {                                                                                               
           include “foo.as”; // All statements inside { } are guarded by IF.          
        }                                                                                                            

    导入(import)AS类或包
    在<mx:Script>块中实现导入,举例如下:
        import MyPackage.Util.MyClass; //导入指定的类                                  
        import MyPackage.Util.*; //使用*号导入Util包下的所有类                       

    注意:如果程序没有用到导入的类,那么该类不会被包含到生成的SWF文件中。因此,如果你使用了*号导入完整的包并不会导致生成的SWF文件过大。

自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com

本文链接地址: 在MXML中导入(import)和包含(include)AS代码的使用方法 http://www.chhua.com/web-note219

相关笔记

更多