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