Pergunta

Estou tentando criar um botão que simplesmente se vincule à raiz do contexto. Percebi que o Flex possui um atributo @ContexTroot que parece funcionar apenas em certos casos. Por exemplo, se eu tentar usá -lo no seguinte MXML:

<mx:Button label="Back to Root" click="navigateToURL(new URLRequest(@ContextRoot()), '_parent')"/>

Recebo o seguinte erro: Erro: os atributos não são chamáveis.

Não consigo encontrar essa técnica explicada em algum lugar, existe outra maneira?

Obrigado pela ajuda! Dave

Foi útil?

Solução 2

Graças a http://devgirl.wordpress.com/ Para esta solução! Eu acho que é melhor que o aplicativo.Application.url Solução:

Use o controle HTTPService:

<mx:HTTPService id="home" url="@ContextRoot()"/> 

E então no script de ação:

 navigateToURL(new URLRequest(home.url),"_parent");

Funciona como um encanto!

Outras dicas

Bem, a maneira mais limpa que encontrei foi usar uma função no bloco de scripts e não usar @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");
 }

Eu diria que há uma maneira mais fácil de usar o @ContexTroot, para que outras respostas que não usem caminhos relativas sejam bem -vindos!

Graças a esses sites pela ajuda:

http://blog.devsandbox.co.uk/?p=174

Adobe Help Docs sobre argumentos passantes

-Dave

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top