0

该架构基于以下框架的使用:Flex、Cairngorm 和 Parsley。

我在弹出面板中使用带有事件“AdicionarItemVendaMercadoriaEvent”的调度程序:PopupPanel。

我在注入 Form.mxml 的 FormPM.as 中使用 [MessageHandler] 捕获事件。在 Form.mxml 中,我有一个 mx:TabNavigator,每个选项卡都在一个 s:NavigatorContent 内。

事实证明,当有多个打开的选项卡 mx:TabNavigator 时,在所有选项卡的所有 Form 中捕获调度的事件。

正常操作是捕获调度 PopupPanel 的选项卡的唯一事件,而不是所有选项卡。

请问有什么解决这个问题的建议吗?

我很感激帮助。

4

1 回答 1

0

如何使用直接的函数回调?

当您创建 PopUpPanel 时,请传入您希望在弹出窗口关闭时执行的函数回调。您只需调用函数,而不是使用事件。IE

内部 FormPM:

public function showPopup():void
{
    var popup:PopUpPanel = new PopUpPanel();
    popup.onCompletion = handleResult;
    PopUpManager.addPopUp(popup, ...);
}

private function handleResult(someData:*):void 
{
   // My popup has completed.. what do I want to do with the result.
}

您可能需要考虑 Spicelib 3.0 命令框架并有一个命令来弹出您的面板,然后向其中添加错误/成功回调:http ://www.spicefactory.org/parsley/docs/3.0/manual/?page=命令§ion=介绍

于 2013-06-14T08:38:55.887 回答