flex 页面跳转

其实对于这个题目是不恰当的,因为flex中是没有页面这个概念的,页面在flex里面其实就是一个个的Canvas,vbox, 
hbox等等之类的东西,看到的不同页面的切换,就是这些元素一层层的堆积,或者替换,但是为了好理解,还是称之为 
"页面跳转"。其实我们可以对比传统的C/S开发模式,没页面跳转,只有窗体和元件的显示和隐藏。 
       那么在flex中怎么实现页面的跳转了,我总结了下,主要有一下几种方式: 
      1、使用ViewStack组件,具体代码如下所示:把要跳转的页新建成 MXML Component,然后通过 ViewStack 组件把 
这些页包含进来 
<mx:ViewStack id="storeViews" width="100%" height="550" creationPolicy="all"> 
   <shouye id="homeView"  label="首    页" showEffect="WipeDown" hideEffect="WipeUp"  /> 
   <leixing id="pView"    label="模板类型"  showEffect="WipeDown" hideEffect="WipeUp" /> 
   <make id="supportView" label="立即制作" showEffect="WipeDown" hideEffect="WipeUp"  /> 
</mx:ViewStack> 
然后再用别的组件切换这些页,比如用 Button 
<mx:Button click="storeViews.selectedChild=homeView;"  />   
效果: 
见附件sample3.zip 
   2、使用navigateToURL,主要方式如下:var url:String = "http://localhost:8080/Flex_J2eeDemo/bin/Welcome.html"; 
                                                                   var request:URLRequest = new URLRequest(url); 
                                                                   navigateToURL(request,"_blank"); 
但是这个方法很郁闷就是页面切换总是弹出新的页面,而不是只变换url 
  3、也是我采用的方法,就是引用flash中的 import flash.external.ExternalInterface 这个接口,他能提供像jsp中window.location.href方法一样方便,主要代码为: ExternalInterface.call("function() 
{window.location.href='http://localhost:8080/Flex_J2eeDemo/bin/Welcome.html';} 

"); 
4、使用组件技术,把不通的页面做成component,然后通过TabNavigator等进行切换,通过使用state实现跳转。 
效果: 
见附件sample4.zip 
    最后总结下吧:在Flex中,根本就没有页面的概念,有的只有状态,Flex是通过改变不同的状态在我们的Application中 
实现不同页面的平滑变换。目前已有人提出使用"栈"的"后进先出"的思想等等方法来实现,当然还有其他的方法,但 
是都需要我们的不断探索、挖掘。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值