`

Flex 页面跳转或弹出总结

    博客分类:
  • flex
 
阅读更多

Flex中实现页面的跳转以下几种方式: 1、使用ViewStack组件,把要跳转的页新建成 MXML Component,然后 ...

Flex关于页面跳转的方式,我是直接贴的,博客中很多很多,我只是贴过来然后结合实际应用中分析下那种方式最好。

Flex中实现页面的跳转以下几种方式:

1、使用ViewStack组件,把要跳转的页新建成 MXML Component,然后通过 ViewStack 组件把这些页包含进来,然后再通过改变ViewStack的selectedItem或者electedChild来切换这些页。

分析:这种方式比较简单,但是会存在页面的混乱,为什么混乱呢,因为ViewStack中的对象初始化过一次,在此跳转过来时,会保持上一次的输入或其他的信息,还要想办法恢复原本的状态,很是麻烦。

[http://blog.csdn.net/cn_gaowei]

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

var url:String = "http://localhost:8080/Flex_Java_Demo/welcome.html";
var request:URLRequest = new URLRequest(url);
navigateToURL(request,"_blank");

这个方法页面切换时会弹出新的页面,而不是只变换 url

分析:贴的说,会弹出新页面,这是不准确的,懂js的应该知道,可以使用navigateToURL(request,"_top");在本页面跳转,这种通过js跳转的方式比较灵活,缺点就是必须准备相应的页面,而且页面只要跳过去,原来页面(Flex页面)的信息就没有了,如果是简单的实现页面跳转可以使用这种方式,但是只是页面跳转,还需要用Flex吗?

[http://blog.csdn.net/cn_gaowei]

3、引用flash中的 import flash.external.ExternalInterface 这个接口,

它能提供像jsp中window.location.href方法一样方便,主要代码为:
ExternalInterface.call("function(){window.location.href=
'http://localhost:8080/Flex_J2eeDemo/bin/Welcome.html';}");

分析:这种方式跟第二种,一样的原理,都一样的利弊。当然也存在这样的不好,就是url必须固定,要用改动的话,Flex也要做相应的改动。

[http://blog.csdn.net/cn_gaowei]

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

分析:这种跟第一种是一样的。而且state总觉得比较垃圾的技术,控制起来比较费劲,日常开发中不建议使用,我反正不用。

[http://blog.csdn.net/cn_gaowei]

5、把不同的页面做成Module,然后使用ModuleLoder来进行加载切换。

分析:上边说了那么多方式的利弊,那什么方式是做好的方式呢?我觉得是这种方式。首先模块开发,无论在java体系还是在C或C++以至任何一种语言都是大力倡导的吧,它的好处当然就不用我多说了,可以多人共享使用此模块;Flex中模块实现页面跳转时,需要把上一个模块卸载,新加载一个模块,就不存在上边1中的烦恼;模块开发还可以通过相互调用,轻松实现信息的相互传递;再有,也不会有2.3中的方法那么不地道,明明是Actionscript,非要去调用javascript来实现。。。。

 

 

1、ViewStack,TabNavigator之类的组件

  把页面做成Component然后用ViewStack包含进来,实现页面之间的切换,而HTML并没有刷新,ViewStack只是实现了flash里面的页面切换。

 

  1. <mx:ViewStack id="storeViews" width="100%" height="550" creationPolicy="all">  
  2.    <shouye id="page1"  label="page1" showEffect="WipeDown" hideEffect="WipeUp"  />  
  3.    <leixing id="page2"    label="page2"  showEffect="WipeDown" hideEffect="WipeUp" />  
  4.    <make id="page3" label="page3" showEffect="WipeDown" hideEffect="WipeUp"  />  
  5. </mx:ViewStack>  
  6. <!-- 然后再用别的组件切换这些页,比如用 Button -->  
  7. <mx:Button click="storeViews.selectedChild=page1;"  />    

 

2、flash.net.navigateToURL直接页面重定向

 


navigateToURL (request:URLRequest, window:String = null):void
在包含 Flash Player 容器的应用程序(通常是一个浏览器)中,打开或替换一个窗口。

 

[javascript]
  1. var  
  2. request:URLRequest = new URLRequest("163.com");  
  3. navigateToURL(request,"_blank");  

 

 

3、flash.external.ExternalInterface调用外部 API

 

 
call (functionName:String, ... arguments):*
[] 调用由 Flash Player 容器公开的函数,不传递参数或传递多个参数。
[javascript]
  1. ExternalInterface.call("  
  2. function(){  
  3. window.location.href='http://163.com';  
  4. }");   

4、弹出页面类mx.managers.PopUpManager之类
用PopUpManager的createPopUp方法新建一个组新然后Pop出来
PopUpManager.centerPopUp(PopUpManager.createPopUp(this, Comp, true));
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"  creationComplete="init()"> 
<mx:Script>   
    
<![CDATA[
   
import mx.managers.PopUpManager; private var vboxw:VBox=new VBox();
   
//这是一打开就弹出来的窗口
    private function init():void {   
    PopUpManager.addPopUp(vboxw,
this, true);
    }
   
//这是点击后要弹出的,(注:要求在vboxw后面弹出)
    private var clikwindos:VBox=new VBox();
   
private function clikup():void
    {
     PopUpManager.addPopUp(clikwindos,
this, true);//这里怎么设置呢感谢大师帮助.
    }
   
//还有就是有时场景中会弹出多个窗口,请问最后弹出的窗口能不能加到,已弹出窗口的背面呢谢谢.

   ]]
>   
    
</mx:Script>
<mx:Button label="Launch TitleWindow" click="clikup()" />  
</mx:Application>

5、mx.modules.loadModule方法加载子模块
[javascript]
  1. public function jumpTo(toUrl:String):void  
  2. {          
  3.     m1.url=toUrl;     
  4.     m1.loadModule();      
  5. }   
  6. //其它地方法调用   
  7. this.parentApplication.jumpTo(url);   
分享到:
评论

相关推荐

    Flex页面跳转.txt

    Flex页面跳转,Flex页面跳转,Flex页面跳转,Flex页面跳转

    flex页面跳转及数据绑定

    flex页面跳转及数据绑定的方法,flex页面跳转及数据绑定的方法

    FLEX 页面跳转的实现

    在学习Flex的过程中,你可能会遇到Flex页面跳转的问题,本文和大家分享一下,页面在flex里面其实就是一个个的Canvas,vbox,hbox等等之类的东西,看到的不同页面的切换,就是这些元素一层层的堆积,或者替换,但是...

    Flex PureMVC页面跳转

    Flex PureMVC页面跳转

    路由技术解决页面跳转问题

    以我们公司现在这个项目为例,前台是由FLEX实现,整个系统可能只有几个application组成,所有的功能点均由module实现,而Module本身无法实现各module之间的跳转,只能通过application实现对各个module的动态加载来...

    flex动态导航跳转页面

    flex作的动态导航跳转页面,文件不大可以放在首页上作导航页面跳转使用

    Flex 页面实例(java)

    Flex 页面实例 Flex 页面实例 Flex 页面实例

    flex的跳转

    flex的跳转

    flex 页面布局教程

    flex 页面布局教程 详细介绍了页面的各个组件

    flex sample-跳转

    flex开发中的一些小例子,这个是用viewstack控件开发的跳转功能

    AMF抓取flex页面数据

    抓取AMF协议的flex页面,支持模拟登录和页面抓取。

    Flex中弹出对话框的定制

    Flex中弹出对话框的定制Flex中弹出对话框的定制Flex中弹出对话框的定制Flex中弹出对话框的定制

    flex布局实战搭建网页页面

    html+css,使用flex布局搭建页面,纯前端,初学党可借鉴学习如何使用flex布局页面

    flex学习笔记 flex学习总结 flex学习教程

    这是作者自己亲自编写的教程,里面包含的有图解教程,各式jar,及配置文件,全部包含在内,如果你是一个决定学习flex初学者,我敢保证它肯定适合你!带上你走上flex开发旅途!

    Flex 页面与代码分离

    FLEX 实现页面与ActionScript代码完全分离(后缀名丢失,下载后自行添加.rar)

    Flex页面嵌入jsp文件

    Flex页面嵌入jsp文件 flex-iframe1.5.1.zip解压找到flex-iframe-1.5.1\flex-iframe-1.5.1\bin\flex-iframe-1.5.1.swc放入flex项目的libs里面如果不是web项目就放倒lib里面,然后在你的mxml的头部里输入xmlns:名字(你...

    Flex学习与总结

    本文主要是我对Flex学习的总结,以供大家学习参考。

    Flex 弹出窗口代码

    Flex 点击按钮 弹出窗口并居中显示代码 复制就行了

    flex state跳转

    flex开发的跳转例子,使用state来实现跳转功能

    Flex页面布局

    Flex开发中最基础的也是初学比较模糊的就是页面的布局,而这几张图片就能精妙透彻的解释Flex中页面布局的精华!

Global site tag (gtag.js) - Google Analytics