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

FLEX动态加载Model

阅读更多
用FLEX来开发应用难免不了要使用到Module,FLEX组件提供了ModuleLoader组件,该组件使用方式类似与swfLoader,但是通常仅仅使用该组件并不能满足我们的需求,这时FLEX为我们提供了ModuleManager,可以实现动态的载入不同的模块。


module分为两种,一种是完整的,一种是关联到主程序的,在新建Module时可以选择module swf size

1.完整的module会将所有用到的引用编译进来因而比较大,这个一般会比较少用到。

2.关联到主程序的则不会将主程序的引用编译进来,因而会比较小,但是引用别的模块就不同了。



在使用FLEX模块时有几点需要注意的地方
1.module内不可以访问别的module的对象但是可以访问主程序的对象引用
2.不要在主程序中创建模块的引用,这样模块还是会被加载到主程序中,模块的意义也就没了。
3.module内的组件的初始化实在ModuleEvent.READY事件之后,所以不能在ModuleEvent.READY事件里直接访问module内的组件



为了在主程序中使用module对象来操作module内的一些行为,这时可以将module对象在主程序中转换成object类型,然后保存引用,或者让module实现一个接口,然后保存该接口的引用。

然而使用object类型无法知道内部公开的方法,但使用接口就没有此问题



在使用FLEX提供的动态的载入module功能时我们需要用到一下3个类
ModuleManager,IModuleInfo,ModuleEvent
      ModuleManager 内有一个管理各个module的map,ModuleManager 在加载module之前会判断他是否已经存在,如果存在则不会再次加载通过ModuleManager.getModule(URL)方法我们可与获取到ModuleManager的内部类ModuleInfoProxy的对象,ModuleInfoProxy实现了IModuleInfo接口,因此我们可以通过IModuleInfo接口来保存ModuleInfoProxy内部类的对象对象进行系列的操作。


有关ModuleManager,IModuleInfo,ModuleEvent的详细信息见帮助文档。



如何动态的载入module:
1.通过ModuleManager.getModule(URL)获取与特定 URL 关联的 IModuleInfo 接口。
_moduleInfo=ModuleManager.getModule("com/myMusic/nominateMusicModule/NominateMusic.swf");
2.为加载module的各个过程添加事件监听
_moduleInfo.addEventListener(ModuleEvent.READY, onModuleReady);
_moduleInfo.addEventListener(ModuleEvent.SETUP, onModuleSetup);
_moduleInfo.addEventListener(ModuleEvent.UNLOAD, onModuleUnload);
_moduleInfo.addEventListener(ModuleEvent.PROGRESS, onModuleProgress);
3.调用loader方法执行加载动作
_moduleInfo.load(); //加载Module


废话太多,还是看例子吧(根据老外的一个例子改的)

分享到:
评论

相关推荐

    abou flex paginaton model

    标题中的“abou flex paginaton model”暗示了我们即将探讨的是关于Flex(一种富互联网应用程序框架)中的分页模型。在Flex应用中,尤其是在处理大量数据时,分页是必不可少的功能,它允许用户逐步加载数据,提高...

    Flex教程大全 flex快速入门

    Flex不仅能够创建功能强大的桌面应用程序,还能构建动态丰富的互联网应用(RIA)。本文旨在为初学者提供一个全面的Flex入门指南。 #### 二、MXML基础 MXML是一种用于构建Flex应用程序用户界面的语言。它基于XML...

    Flex4 in Action

    这些技术允许 Flex 应用程序动态加载数据、提交表单、获取实时更新等功能。 **6. Flex 的组件体系结构** Flex 的组件体系结构是其强大功能的核心。Flex 提供了两种主要类型的组件体系结构:Halcyon 和 Spark。...

    FLEX简单的Flex 相册(附源码)

    - `model`和`valueObjects`:这些可能是数据模型和值对象,负责存储和传递相册数据,例如图片元信息。 3. Flex相册的工作流程: - 用户启动应用,`PhotoGallery.mxml`加载并解析XML配置文件,获取图片列表。 - ...

    flex Twaver组件使用

    数据管理容器,尤其是`twaver.DataBox`,在TWaver Flex中扮演着Model的角色。它可以驱动多个视图,如`twaver.controls.Tree`、`twaver.controls.Table`和`twaver.network.Network`。当`DataBox`中的数据发生变化时,...

    flex做的拓扑图

    例如,可以扩展功能以支持网络流量的实时监控,或者集成API以动态加载和更新拓扑数据。 总之,这个“flex做的拓扑图”项目展示了如何使用Flex技术和ActionScript来构建一个直观且交互性强的拓扑图示例。通过学习这...

    Flex_API的架构图

    5. **Flex Event Model**: 事件模型是Flex API的重要特性,允许组件之间通过事件进行通信。事件包括用户交互事件(如点击按钮)、数据变化事件和生命周期事件等。事件监听器可以通过添加到组件上,来响应这些事件。 ...

    flex 开发教程下载

    开发Flex应用程序的步骤通常包括:使用MXML(一种基于XML的标记语言)创建根标签,插入容器和控件,定义数据模型,添加数据验证,编写ActionScript 3.0脚本来实现组件间的交互,布局设计,以及使用CSS进行样式定制,...

    flex搭开发环境教你一步一步做出helloword

    - 通常,Flex项目会遵循MVC(Model-View-Controller)模式,组件文件分别位于不同的目录下,实现业务逻辑、界面展示和数据控制。 通过以上步骤,你将在MyEclipse中成功搭建Flex开发环境,并创建出第一个Hello ...

    flex spring

    这些中间件提供了AMF(Action Message Format)协议,允许Flex客户端与Spring服务之间进行二进制数据交换。在服务器端,我们需要配置Spring的Remoting Destination,以便Flex客户端可以通过HTTP发送请求到Spring服务...

    Flex电子教案(PPT)

    9. **Flex应用结构**:理解MVC(Model-View-Controller)设计模式在Flex中的应用,学习如何组织和架构大型项目。 10. **移动开发**:如果PPT内容涵盖,还将介绍使用Flex开发移动应用,如AdMob插件,以及针对iOS和...

    用Flex+Java进行软件开发速成篇

    - **Flex端**: 使用`URLLoader`类加载远程数据。 - **Java端**: 提供RESTful API接口,接收Flex端的请求并返回相应数据。 #### 五、Flex中的MVC框架 - Cairngorm Extensions Cairngorm Extensions是一个流行的Flex ...

    flex企业应用开发实践.pdf

    客户端部分主要聚焦于用户界面的构建和交互逻辑的实现,利用Flex的MVC(Model-View-Controller)架构模式,将数据模型、视图展示和控制逻辑进行有效分离,提高代码的可维护性和扩展性。服务器端则负责处理业务逻辑、...

    最新最全的FLEX++网站源码

    6. **Data Binding**:Flex支持数据绑定,这意味着视图组件的状态可以自动与模型数据同步,简化了开发过程。 7. ** skins和styles**:Flex应用可以通过皮肤和样式表定制UI外观。源码中可能包含自定义的皮肤文件和...

    FLEX中文帮助文件

    Flex是一个强大的开发平台,用于构建具有动态图形、动画和复杂数据可视化功能的Web应用。它基于开放源代码的Apache Flex项目,提供了一整套开发工具,包括Flex Builder(现称为Flash Builder)和Flex SDK。 2. **...

    my flex example3

    10. **Flex与后端通信**:Flex应用可以通过AMF、SOAP、RESTful等方式与服务器进行数据交换,实现动态内容加载和远程服务调用。 总之,"my flex example3"项目很可能是一个使用Flex技术创建的、包含特定组件...

    Flex框架Cairngorm经典案例源码

    1. **命令模式的应用**:案例可能包含多个Command类,每个类对应一个特定的业务操作,如用户登录、数据加载等。通过EventDispatcher触发命令执行,实现业务逻辑与视图解耦。 2. **事件监听和分发**:使用...

    Flex高级数据绑定实例(界面语言切换)

    1. **模型(Model)与视图(View)**: 在Flex中,模型通常用于存储应用的数据,而视图则负责显示这些数据。本示例中,`mx:Model`标签定义了一个包含不同语言数据的模型。视图部分则通过绑定的方式将模型中的数据展示出来...

Global site tag (gtag.js) - Google Analytics