Flex: Wie kann ich die @ContextRoot in einem Knopf oder Linkbutton
-
26-09-2019 - |
Frage
Ich versuche, eine Schaltfläche zu erstellen, die einfach auf den Kontext Wurzel wird Link zurück. Ich bemerkte, flex hat ein @ContextRoot Attribut, das scheint zu funktionieren nur in bestimmten Fällen. Zum Beispiel, wenn ich versuche, es in der folgenden mxml zu verwenden:
<mx:Button label="Back to Root" click="navigateToURL(new URLRequest(@ContextRoot()), '_parent')"/>
ich folgende Fehlermeldung erhalten: Fehler:. Attribute sind nicht aufrufbar
Ich kann nicht scheinen, diese Technik zu finden, erklärte überall, gibt es eine andere Art und Weise?
Danke für die Hilfe! Dave
Lösung 2
Dank http://devgirl.wordpress.com/ für diese Lösung! Ich denke, es ist besser als die Application.application.url Lösung:
Verwenden Sie die Httpservice-Steuerung:
<mx:HTTPService id="home" url="@ContextRoot()"/>
Und dann in Action Script:
navigateToURL(new URLRequest(home.url),"_parent");
wirkt wie ein Zauber!
Andere Tipps
Nun, die sauberste Art, wie ich fand, war eine Funktion im Skriptblock zu verwenden, und verwenden Sie @ContextRoot nicht wie:
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");
}
Ich würde davon ausgehen, gibt es einen einfacheren Weg, die @ContextRoot nutzen könnten, so dass alle anderen Antworten, die relative Pfade nicht begrüßt werden würde verwenden!
Dank dieser Sites für die Hilfe:
http://blog.devsandbox.co.uk/?p=174
[Adobe-Hilfe-Dokumente zum bestandenen Argumente]
-Dave