其实对于这个题目是不恰当的,因为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;" /> 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实现跳转。效果如图所示:
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tianpeijun/archive/2009/04/17/4088496.aspx |
|