实现Flex页面跳转行之有效的办法

开发 后端
Flex页面跳转的实现方式你是否了解,这里和大家分享一下,在Flex里面不同页面的切换,就是元素一层层的堆积,或者替换,但是为了好理解,还是称之为"页面跳转"。

本文和大家重点讨论一下Flex页面跳转实现的方式,Flex中是没有页面这个概念的,页面在Flex里面其实就是一个个的Canvas,vbox,hbox等等之类的东西,看到的不同页面的切换,就是这些元素一层层的堆积,或者替换,但是为了好理解,还是称之为"页面跳转"。

Flex页面跳转

其实对于这个题目是不恰当的,因为Flex中是没有页面这个概念的,页面在Flex里面其实就是一个个的Canvas,vbox,hbox等等之类的东西,看到的不同页面的切换,就是这些元素一层层的堆积,或者替换,但是为了好理解,还是称之为"页面跳转"。其实我们可以对比传统的C/S开发模式,没Flex页面跳转只有窗体和元件的显示和隐藏。

那么怎么实现Flex页面跳转呢,我总结了下,主要有一下几种方式:

1、使用ViewStack组件,具体代码如下所示:把要跳转的页新建成MXMLComponent,然后通过ViewStack组件把这些页包含进来

  1. <mx:ViewStackidmx:ViewStackid="storeViews"width="100%"height="550"creationPolicy="all"> 
  2. <shouyeidshouyeid="homeView"label="首页"showEffect="WipeDown"hideEffect="WipeUp"/> 
  3. <leixingidleixingid="pView"label="模板类型"showEffect="WipeDown"hideEffect="WipeUp"/> 
  4. <makeidmakeid="supportView"label="立即制作"showEffect="WipeDown"hideEffect="WipeUp"/> 
  5. </mx:ViewStack> 

然后再用别的组件切换这些页,比如用Button
 

  1. <mx:Buttonclickmx:Buttonclick="storeViews.selectedChild=homeView;"/> 

2、使用navigateToURL,主要方式如下:

  1. varurl:String="http://localhost:8080/Flex_J2eeDemo/bin  
  2. /Welcome.html";  
  3. varrequest:URLRequest=newURLRequest(url);  
  4. navigateToURL(request,"_blank");  

但是这个方法很郁闷就是页面切换总是弹出新的页面,而不是只变换url

3、也是我采用的方法,就是引用flash中的importflash.external.ExternalInterface这个接口,他能提供像jsp中window.location.href方法一样方便,主要代码为:

  1. ExternalInterface.call("function()  
  2. {window.location.href='http://localhost:8080/Flex_J2eeDemo/bin/Welcome.html';}  
  3.  
  4. ");  

4、使用组件技术,把不通的页面做成component,然后通过TabNavigator等进行切换,通过使用state实现Flex页面跳转。

最后总结:

在Flex中,根本就没有Flex页面的概念,有的只有状态,Flex是通过改变不同的状态在我们的Application中实现不同页面的平滑变换。目前已有人提出使用"栈"的"后进先出"的思想等等方法来实现,当然还有其他的方法,但是都需要我们的不断探索、挖掘。
 

【编辑推荐】

  1. Flex页面跳转实现的几种方式
  2. FlexBuilder4十大新特性闪亮登场
  3. Flex框架中Cairngorm和Mate的优点大比拼
  4. FlexBuilder3.0与Eclipse3.4的完美结合
  5. 解析Flex应用开发步骤 新特性和技术框架 

 

 

责任编辑:佚名 来源: javaeye.com
相关推荐

2010-07-29 10:09:09

Flex数据库

2010-09-15 12:32:23

DIV页面

2010-08-23 10:04:48

CSS浮动

2010-07-06 11:44:49

UML活动图

2010-07-23 16:10:34

Perl用户函数

2010-05-25 14:42:58

删除SVN版本信息

2010-07-06 13:11:50

Visio画UML图

2010-08-26 09:27:07

CSS居中

2010-08-30 11:22:24

DIVCSS

2010-09-02 13:16:44

CSS水平居中

2010-09-10 13:24:21

DIV表格

2010-03-23 16:41:17

云计算

2010-06-30 17:06:32

UML用例图

2015-03-16 11:16:59

生物识别身份验证数据中心

2015-03-03 09:13:22

2010-07-06 13:20:57

Visio画UML用例

2010-08-18 16:10:35

IE6CSS

2010-06-30 13:04:13

UML业务建模

2009-07-25 17:24:25

VMware服务器虚拟机

2010-09-25 10:06:40

jvm.cfg
点赞
收藏

51CTO技术栈公众号