Недавно я перешел на Mate как основу для гибкости. Однако я столкнулся с несколькими проблемами. Я хочу знать, как отправлять события из классов, созданных с помощью тега methodInvoker.
<resultHandlers>
<MethodInvoker generator="{LoginSuccess}" method="setCurrentUser" arguments="{[resultObject]}"/>
Then in the class I'd like to dispatch an event.
public function setCurrentUser(calUser:Object):void{
if(calUser != null){
Model.instance.currentUser = calUser as CalUser;
loadOnlineCalendars(Model.instance.currentUser);
}
}
public function loadOnlineCalendars(calUser:CalUser):void{
for(var i:int = 0 ; i<calUser.calConnectors.length; i++){//logic here
dispatchEvent(new CalConnectorEvent(calUser.calConnectors as CalConnector,CalConnectorEvent.LOAD_ONLINE_CALENDAR_EVENT,true));
}
}
Проблема в том, что я не могу поймать событие в eventMap или даже в корне приложения.
Если у кого-то есть опыт работы с Mate, я был бы признателен за несколько указателей. Возможно, я все делаю неправильно. Я просто хочу получить результат от сервера - посмотрите на результат и, в зависимости от результата, снова обратитесь к серверу. Должно быть довольно просто.
Карта событий:
<resultHandlers>
<MethodInvoker generator="{LoginSuccess}" method="setCurrentUser" arguments="{[resultObject]}"/>
<ServiceResponseAnnouncer type="result"/>
</resultHandlers>
<faultHandlers>
<ServiceResponseAnnouncer type="fault"/>
</faultHandlers>
</RemoteObjectInvoker>