Apache flex Flex:如何在按钮或链接按钮中使用@ContextRoot
我正在尝试创建一个按钮,它将简单地链接回上下文根。我注意到flex有一个@ContextRoot属性,它似乎只在某些情况下起作用。例如,如果我尝试在以下mxml中使用它:Apache flex Flex:如何在按钮或链接按钮中使用@ContextRoot,apache-flex,url,button,hyperlink,contextroot,Apache Flex,Url,Button,Hyperlink,Contextroot,我正在尝试创建一个按钮,它将简单地链接回上下文根。我注意到flex有一个@ContextRoot属性,它似乎只在某些情况下起作用。例如,如果我尝试在以下mxml中使用它: <mx:Button label="Back to Root" click="navigateToURL(new URLRequest(@ContextRoot()), '_parent')"/> 我得到以下错误:错误:属性不可调用 我似乎在任何地方都找不到解释这种技术的方法,有其他方法吗 谢谢你的帮助! D
<mx:Button label="Back to Root" click="navigateToURL(new URLRequest(@ContextRoot()), '_parent')"/>
我得到以下错误:错误:属性不可调用
我似乎在任何地方都找不到解释这种技术的方法,有其他方法吗
谢谢你的帮助!
Dave嗯,我发现的最干净的方法是在脚本块中使用函数,而不是像下面那样使用@ContextRoot:
private function goBacktoHompage():void
{
baseURL = Application.application.url;
var tempUrl:String = baseURL.substr(7,baseURL.length);
var tempUrlArr:Array = tempUrl.split("/");
var contextRoot:String = tempUrlArr[1];
var u:URLRequest = new URLRequest("/" + contextRoot);
navigateToURL(u,"_parent");
}
我认为有一种更简单的方法可以使用@ContextRoot,所以任何其他不使用相对路径的答案都会受到欢迎
感谢这些网站的帮助:
[关于传递参数的Adobe帮助文档]
-Dave感谢您提供此解决方案!我认为它比Application.Application.url解决方案更好:
使用HTTPService控件:
<mx:HTTPService id="home" url="@ContextRoot()"/>
工作起来很有魅力 你是否正在尝试实施状态管理并链接回应用程序的初始状态,而不重新加载swf?不,我有一个应用程序,它有更多的部分,而不仅仅是flex部分-因此,我基本上要回到一个主页排序。谢谢你的回复!!顺便提一下我的编译设置中确实有上下文根设置,所以这是可行的:。。。只是想不出如何把它变成一个干净的链接。
navigateToURL(new URLRequest(home.url),"_parent");