【发布时间】:2011-01-12 14:27:55
【问题描述】:
我有一个带有主页按钮的 flex 应用程序。单击此按钮时,我需要重置应用程序。我不能使用 navigateToURL 或 ExternalInterface.call("window.location.reload");因为重新加载 swf 文件是不可接受的。还有其他方法可以实现这一目标吗?非常感谢您对此提供任何帮助。
【问题讨论】:
标签: apache-flex flex3 flex4
我有一个带有主页按钮的 flex 应用程序。单击此按钮时,我需要重置应用程序。我不能使用 navigateToURL 或 ExternalInterface.call("window.location.reload");因为重新加载 swf 文件是不可接受的。还有其他方法可以实现这一目标吗?非常感谢您对此提供任何帮助。
【问题讨论】:
标签: apache-flex flex3 flex4
无法从应用程序本身重新加载 flex 应用程序。 您可以调用将重新加载页面的 javascript 函数。 看看这个:http://livedocs.adobe.com/flex/3/html/help.html?content=passingarguments_4.html
【讨论】:
Flex 中有这种状态的概念。 您需要做的是,保持两种状态,一种处于初始阶段(这是 swf 加载时的状态),另一种是用户正在与之交互的状态。 因此,假设您有两种状态: stat1,stat2
每当点击主页时,您应该执行以下操作: 1.将用户带到stat2。 2.克隆stat2并将引用复制到stat1以备下次使用。 3.下次有点击主页时,反之。
尼拉杰
【讨论】:
您可以将大部分 flex 应用程序作为模块。在初始化或其他任何情况下加载模块。要引用,卸载/重新加载模块。那基本上是指应用程序
【讨论】:
您必须使用 javascript 函数来重新加载 url 中带有附加参数的 swf 文件,否则它将从缓存中重新加载 swf。 (http://abc.com/myswffile.swf?reload=12345)。 12345 - 这将是一个随机数。
【讨论】:
我想,你的情况是要求状态管理,我是一个 flex 开发者,所以我每天每次点击都会重置屏幕(屏幕上的空间总是更少),
你想隐藏一些屏幕组件,当你点击屏幕上的一些按钮时(在 swf 中),那么你可以让它们可见=false 并且 includeInLayout=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 中,那就更漂亮了,
希望对你有帮助
安库尔
【讨论】: