`
emavaj
  • 浏览: 49899 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Flex 操作视图层

    博客分类:
  • Flex
阅读更多

事件的创建,分发,监听,处理,思路都是很清晰的

事件可以自己继承Event类,然后加入属性存储处理所需参数

分发可以EventDispather分发

监听和处理也不是很难

 

现在的问题是,处理了事件之后,该如何改变视图?

 

比如登录模块是一个Module,用的是ModuleLoader加载

那么登录之后,怎么取得另一个Module改变视图?

或者改变主引用程序,切换State或者ViewStack?

 

我想了一下...也只能写下一下的代码了

方法其实很简单,就是Application.application,获取主应用程序实例

<mx:ViewStack x="{application.width / 2 - 475}" y="{application.height / 2 - 300}" 
				  id="mainView" width="950" height="600">
	<!-- 登录模块 -->
	<mx:Canvas label="登录" width="100%" height="100%" showEffect="Fade" hideEffect="Fade">
		<mx:ModuleLoader id="login" url="com/emavaj/testexam/view/Login.swf"/>
	</mx:Canvas>
	<!-- 注册模块 -->
	<mx:Canvas label="注册" width="100%" height="100%" showEffect="Fade" hideEffect="Fade">
		<mx:ModuleLoader url="com/emavaj/testexam/view/Register.swf"/>
	</mx:Canvas>
	<!-- 后台模块 -->
	<mx:Canvas label="" width="100%" height="100%" showEffect="Fade" hideEffect="Fade">
		<mx:ModuleLoader id="admin" url="com/emavaj/testexam/view/Admin.swf"/>
	</mx:Canvas>
</mx:ViewStack>

 

上面代码是,主应用程序结构,登录模块Module如下:

<mx:Panel x="322.5" y="176" width="305" height="218" layout="absolute">
	<mx:TextInput id="username" x="71" y="42"/>
	<mx:TextInput id="password" x="71" y="87" displayAsPassword="true"/>
	<mx:Label x="10" y="44" text="用户名:"/>
	<mx:Label x="24" y="89" text="密码:"/>
	<mx:Button x="219" y="141" label="登录" click="login()"/>
	<mx:Button x="155" y="141" label="注册" click="register()"/>
</mx:Panel>

 

当点击登录时,执行login() 函数,派发事件,处理了之后,需要跳转到Admin这个Module上

只是,我写了一个查找视图的工具类:

package com.emavaj.testexam.util{
	import mx.core.Application;

	/**.
	 * 视图工具
	 */
	public class ViewUtil{
		/**单例对象.*/
		private static var viewUtil:ViewUtil;
		
		/**获取后台视图.*/
		public static function getAdminModule():Object {
			return Application.application.admin.child;
		}
	}
}

 

 

其实是个伪类,全部是静态方法

核心代码是:

Application.application

 

这一句就是取得了整个应用程序实例

然后 .admin 是取得后台模块的 ModuleLoader对象

 .child就是真正的后台模块的 Module实例了...

 

取得了Module实例后,一切就好办了

 

方法虽笨,但是...简单易懂...

 

如果各位有更好的方法,请赐教

0
0
分享到:
评论

相关推荐

    adobe flex例程源码

    5. **数据绑定**: Flex支持数据绑定,使得视图层和数据模型之间的同步变得简单。通过数据绑定,当模型数据改变时,界面会自动更新,反之亦然。 6. **事件处理**: Flex事件模型允许组件之间进行通信。源码中可能包含...

    flex中文帮助文档

    它可以用来创建视图层,类似于HTML,但提供了更多组件和数据绑定功能。 2. ActionScript:ActionScript是Flex应用的脚本语言,用于编写逻辑代码和处理事件。它是一种面向对象的语言,支持类、接口和包等特性。 三、...

    flex 中文API

    模型层负责数据管理,视图层展示用户界面,控制器层处理用户输入和业务逻辑。 7. ** BlazeDS与LiveCycle Data Services** 这是Flex与后端服务器进行数据交换的桥梁。BlazeDS是一个开源项目,提供AMF(Action ...

    flex 后台管理系统

    在Flex后台管理系统中,Struts负责处理HTTP请求,协调控制层、视图层和模型层之间的交互,确保数据流的正确性,并提供动态生成HTML的能力,以响应Flex客户端的请求。 4. Flex组件:在提供的文件名称列表中,我们...

    FLEX MVC框架指南与应用示例

    2. **视图(View)**:视图层是用户界面的展示部分,它与模型层交互,展示模型中的数据。在Flex中,视图由MXML组件和ActionScript类构成,它们呈现用户界面并响应用户交互。 3. **控制器(Controller)**:控制器层...

    flex的mvc模式

    视图层负责展示数据和接收用户输入。在Flex中,视图通常由MX或Spark组件构成,如Canvas、Button、Label等。视图组件通过数据绑定直接连接到模型对象,当模型数据改变时,视图会自动反映这些变化。例如,一个列表组件...

    flex2帮助文档.chm

    在Flex 2中,开发者可以利用MXML(Markup for XML)进行界面布局,这是一种简化视图层设计的标记语言。通过MXML,你可以声明式的创建组件,而ActionScript则用于处理逻辑和数据操作。 文档中的“帮助”部分可能会...

    flex 教程及源码 Flex完全自学手册电子教案(PPT)

    模型层负责数据管理,视图层展示用户界面,控制器处理用户交互。Flex框架还包含了服务组件,用于与服务器进行数据交换。 四、Flex组件 Flex组件库包括各种预定义的UI元素,如按钮、文本输入框、列表等。开发者可以...

    flex源码actionscript3

    2. `UserManagerView`:这是视图层的实现,视图层负责展示数据和接收用户的输入。UserManagerView可能包含了与用户管理相关的界面元素,如表格、按钮等,以及这些元素如何响应用户交互的定义。 3. `...

    Flex流行MVC框架之Cairngorm小试牛刀

    视图层主要负责显示用户界面和接收用户的输入。在Cairngorm中,视图组件监听模型发布的事件,并根据事件更新UI。同时,视图可以触发事件,通知控制器有操作需要处理。 **3. Controller** 控制器层是模型和视图之间...

    flex开发的一些好指导

    开发者可以使用Flex中的数据绑定功能来简化模型层与视图层之间的交互,确保数据的实时更新。 #### View(视图) 视图层负责显示模型数据,它包含了用户界面的所有元素。在Flex中,视图由MXML标记语言构建,这些标记...

    flex电子教案(PPT)

    它允许开发者将视图层的改变自动反映到数据模型,反之亦然,大大简化了UI与数据间的同步工作。PPT中可能包含实例来展示数据绑定的用法。 Flex的事件模型也是学习的重点。通过监听和处理事件,开发者可以响应用户的...

    毕业论文-基于Flex+J2EE技术的操作系统精品课程网的设计与实现.doc

    在系统的实现中,我们使用了Flex技术来实现客户端视图层,使用了J2EE技术来实现后台业务逻辑层。最后,我们对系统进行了测试和维护,确保系统的稳定运行。 本文对操作系统精品课程网的设计与实现进行了详细的介绍,...

    Flex 入门_2007.rar

    5. **数据绑定**:Flex支持数据绑定,使得视图层与数据模型之间可以自动保持同步。这意味着当模型中的数据改变时,与之关联的界面元素会自动更新。 6. **事件驱动编程**:Flex应用是基于事件的,用户交互、网络请求...

    flex中文教程 资料

    你可以通过MXML定义组件布局、属性和事件监听器,它与ActionScript相结合,实现视图层的构建。 2. **ActionScript**:ActionScript是Flex的主要编程语言,基于ECMAScript,用于处理应用程序的逻辑和交互。它允许...

    flex的CairngormStoreWeb项目

    在Flex CairngormStoreWeb项目中,模型层负责处理业务逻辑和数据存储,视图层显示UI组件,控制器层协调模型和视图的交互。 4. **WEB-INF**:在Java Web应用中,WEB-INF是一个特殊目录,包含了应用的配置文件、库...

    flex开发的arcgis平台

    开发者可以通过这些组件轻松地在Flex应用中加载地图、执行地图操作,如缩放、平移,以及调用GIS服务,如查询、分析等。 在描述中提到的“常规地图操作功能”,包括地图的缩放、平移、旋转,以及图层的添加、删除和...

Global site tag (gtag.js) - Google Analytics