Flex实现页面跳转的功能可用性分析

 

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来实现。。。。

你可能感兴趣的:(JavaScript,java,Flex,Module,url,actionscript)