Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina



Luiz Henrique de Angeli

luizdeangeli@gmail.com


Flex - Executando uma Função em Outro Arquivo

sexta-feira, 10 de julho de 2009

Muitas pessoas me questionaram como faz para executar uma função em outro arquivo.
Como por exemplo em um sistema que tenha uma listagem.mxml e um cadastro,.mxml . Quando o usuário clicar em salvar na tela de cadastro o sistema deve atualizar a lista, porém estas funções estão em arquivos separados, sendo assim é necessário utilizar eventos. Como o exemplo abaixo:

cadastro.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300" title="Cadastro">
<mx:Form x="0" y="0" width="100%" height="100%">
</mx:Form>
<mx:ControlBar horizontalAlign="right">
<mx:Button label="Salvar" click="salvar()"/>
</mx:ControlBar>

<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;

private function salvar():void
{
dispatchEvent(new Event("executaFuncaoNaLista"))
PopUpManager.removePopUp(this);
}

]]>
</mx:Script>

</mx:TitleWindow>


lista.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="500" height="500" title="Lista">
<mx:ControlBar>
<mx:Button label="Abrir PopPup" click="abrePopUp()"/>
</mx:ControlBar>

<mx:Script>
<![CDATA[
import mx.events.CloseEvent;
import mx.controls.Alert;
import mx.managers.PopUpManager;

private function abrePopUp():void
{
var cad : Cadastro = new Cadastro();
cad.addEventListener("executaFuncaoNaLista",ExecOnClose);
PopUpManager.addPopUp(cad,this,true);
PopUpManager.centerPopUp(cad);

}

private function ExecOnClose(e:Event):void
{
Alert.show('Executou a função que está na Lista','Olá');
}


]]>
</mx:Script>

</mx:TitleWindow>





0 comentários:


Submarino.com.br
Submarino.com.br