我正在创建一个有角度的邮箱。当发送消息的弹出窗口关闭时,我需要保存草稿消息。
我知道有一些选择:
scope.$on("$destroy", function () { saveMessage() });
和:
$mdDialog.show(...).finaly(function(){ saveMessage() });
但两者都不够:
- 第一个在 Dialog 已经关闭时调用。这是由于要求不可接受(有一个 iFrame 需要打开)
- 第二个是在 mdDialog 的控制器范围之外,将责任交给弹出窗口的调用者,而它应该在弹出窗口本身。
所以我正在寻找在弹出窗口实际关闭之前调用函数的方法。就像是scope.$on("$mdDialogBeforeClose", function () { saveMessage() });
另一种选择是挂钩每个关闭事件。看起来很难看,但可能是解决方案。在这种情况下,我需要听退出按钮并在弹出窗口之外单击(尽管我可能会禁用该功能)...
有更好的想法吗?
谢谢!
编辑:
另一个问题:如何捕获 escape-keypress 事件?我试过<md-dialog aria-label="List dialog" ng-keypress="keyPress($event)">
了,但它甚至没有触发......