Flash Builder 4: вызов основной функции из функции компонента

я пытаюсь создать систему входа в систему во flex, и мое приложение выглядит так:

у меня есть main.mxml. когда приложение загружается, вызывается функция с именем «старт». он проверяет, вошел ли пользователь в систему или нет. если «true», пользователь перенаправляется на панель инструментов, если «false», загружается компонент с именем login.

мой компонент login.mxml имеет 2 поля ввода (пользователь и пароль) и кнопку «Отправить». когда кнопка нажата, функция с именем «send_login» отправляет пользователя и значения пароля на сервер.

Моя проблема звучит так: когда я нажимаю кнопку «Отправить» в своем компоненте входа в систему, после отправки пользователя и пароля... я хочу снова вызвать функцию «старт» из моего main.mxml, чтобы снова проверить, вошел ли пользователь в систему. или не...

мне нужен какой-то as2 "_root"

вот как выглядит мой код:

main.mxml

public function start():void {
  currentState="Start";
  loginstatus();
 }

логин.mxml

private function send_login(event:Event):void {

 ... bla bla send user and pass....
 scriptLoader.addEventListener(Event.COMPLETE, handleLoadSuccessful);
}

private function handleLoadSuccessful(evt:Event):void { 

 trace("Data sent.");
  start();  <-- HERE i want to call the function from main.mxml
}

любая помощь приветствуется!


person hyper    schedule 06.04.2010    source источник


Ответы (1)


слишком поздно, ребята, я нашел решение :D

import mx.core.FlexGlobals; 

private function handleLoadSuccessful(evt:Event):void { 
    trace("Data sent.");
    FlexGlobals.topLevelApplication.start();  
}
person hyper    schedule 06.04.2010
comment
Плохая практика использовать глобальные переменные в качестве канала связи. Вместо этого вы должны использовать события. - person Florian F; 06.04.2010