Flex: ¿Cómo puedo usar la @ContextRoot en un botón o LinkButton
-
26-09-2019 - |
Pregunta
Estoy intentando crear un botón que simplemente enlazar de nuevo a la raíz de contexto. Me di cuenta de Flex tiene un atributo @ContextRoot que parece funcionar solamente en ciertos casos. Por ejemplo, si trato de usarlo en el siguiente mxml:
<mx:Button label="Back to Root" click="navigateToURL(new URLRequest(@ContextRoot()), '_parent')"/>
Me sale el siguiente error: Error:. Los atributos no son exigible
Me parece que no puede encontrar esta técnica explicada en cualquier lugar, ¿hay otra manera?
Gracias por la ayuda! David
Solución 2
Gracias a http://devgirl.wordpress.com/ para esta solución! Creo que es mejor que la solución Application.application.url:
Utilice el control HTTPService:
<mx:HTTPService id="home" url="@ContextRoot()"/>
Y luego, en acción de comandos:
navigateToURL(new URLRequest(home.url),"_parent");
funciona como un encanto!
Otros consejos
Bueno, la manera más limpia que encontré fue utilizar una función en el bloque de script, y no utilizar @ContextRoot como:
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");
}
Me daría por sentado que hay una manera más fácil que podría utilizar @ContextRoot, por lo que cualquier otras respuestas que no utilizan rutas relativas serían bien recibidos!
Gracias a estos sitios para la ayuda:
http://blog.devsandbox.co.uk/?p=174
[ayuda documentos de Adobe en el paso de argumentos]
-Dave