Apache flex 如何在不刷新html页面或重新加载SWF文件的情况下重置/重新加载flex应用程序?

Apache flex 如何在不刷新html页面或重新加载SWF文件的情况下重置/重新加载flex应用程序?,apache-flex,flex3,flex4,Apache Flex,Flex3,Flex4,我有一个flex应用程序,它有一个home按钮。单击此按钮时,我需要重置应用程序。我不能使用navigateToURL或ExternalInterface.call(“window.location.reload”);因为重新加载swf文件是不可接受的。政府是否有其他方法来实现这一目标?非常感谢您提供的任何帮助。无法从应用程序本身重新加载flex应用程序。 您可以调用javascript函数来重新加载页面。 看看这个:Flex中有状态的概念。 您需要做的是,保持两个状态,一个在初始阶段(即swf

我有一个flex应用程序,它有一个home按钮。单击此按钮时,我需要重置应用程序。我不能使用navigateToURL或ExternalInterface.call(“window.location.reload”);因为重新加载swf文件是不可接受的。政府是否有其他方法来实现这一目标?非常感谢您提供的任何帮助。

无法从应用程序本身重新加载flex应用程序。 您可以调用javascript函数来重新加载页面。
看看这个:

Flex中有状态的概念。 您需要做的是,保持两个状态,一个在初始阶段(即swf加载时的状态),另一个是用户与之交互的状态。 假设有两种状态: stat1,stat2

无论何时单击主页,您都应执行以下操作: 1.将用户带到stat2。 2.克隆stat2并将引用复制到stat1以供下次使用。 3.下次单击主页时,请执行相反的操作

当做
Neeraj

您可以将大部分flex应用程序作为一个模块。在初始化或任何情况下加载模块。要引用,请卸载/重新加载模块。这将基本上引用应用程序,您必须使用javascript函数,该函数将在url中使用附加参数重新加载swf文件,否则它将从缓存重新加载swf。(http://abc.com/myswffile.swf?reload=12345). 12345-这将是一个随机数

我认为,您的情况要求进行状态管理,请看,我是一名flex开发人员,因此我每天都会在每次单击时重置屏幕(屏幕上的空间总是较少)

是否要隐藏一些屏幕组件,当您单击屏幕上的某个按钮(在swf中)时,可以使其可见=false,也可以使其包含InLayout=false,这也会将其从内存中删除

<mx:states>
    <mx:State name="login">
    <mx:SetProperty target="{rpass}" name="visible" value="false" />        
    <mx:SetProperty target="{rpass}" name="includeInLayout" value="false" />
    </mx:State>
    <mx:State name="register">
        <mx:SetProperty target="{rpass}" name="visible" value="true"/>
        <mx:SetProperty target="{rpass}" name="includeInLayout" value="true"/>
    </mx:State>
</mx:states>

这里我有两种状态,登录和注册,所以当你们点击注册按钮时,你们的rpass文件就会显示出来,反之亦然,所以你们可以把屏幕变成这样

flex3中的状态模型很简单,如果你在flex4中,它会更漂亮

希望这有帮助


Ankur

感谢您的快速回答,但正如我提到的,我无法使用该方法,我想我只需手动将所有视图/对象重置为其初始状态。您能否用一个小代码示例详细说明答案?