私は最近、flex のフレームワークとして Mate に変更しました。ただし、いくつかの問題が発生しています。methodInvoker タグを介して生成されたクラスからイベントをディスパッチする方法を知りたいです。
<resultHandlers>
<MethodInvoker generator="{LoginSuccess}" method="setCurrentUser" arguments="{[resultObject]}"/>
次に、クラスでイベントをディスパッチしたいと思います。
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 またはアプリケーション ルートでさえ、イベントをキャッチできないように見えることです。
誰かがメイトの経験があれば、いくつかの指針をいただければ幸いです。おそらく私はこれをすべて間違っています。サーバーから結果を取得したいだけです-結果を見て、結果に応じてサーバーに再度連絡してください。非常に単純なはずです。
イベントマップ:
<resultHandlers>
<MethodInvoker generator="{LoginSuccess}" method="setCurrentUser" arguments="{[resultObject]}"/>
<ServiceResponseAnnouncer type="result"/>
</resultHandlers>
<faultHandlers>
<ServiceResponseAnnouncer type="fault"/>
</faultHandlers>
</RemoteObjectInvoker>