我正在使用AngulaJS项目并使用Bootstrap UI Modal窗口组件。
要关闭模态窗口,大多数示例使用以下代码行:
$uibModalInstance.dismiss('cancel');
我注意到dismiss
函数收到一个名为reason
的参数:
解雇(原因)(类型:功能) - 可用于解雇模态, 通过一个理由。
我试图查找任何信息,但是没有找到解释reason
的可能值以及它们可能产生的效果的东西。
有谁知道这个参数可以接收哪些可能的值以及它如何影响模态窗口行为?对于某些场景,某些值是否最适合其他场景?
答案 0 :(得分:4)
没有"可能的值"对于reason
:可选参数值将传递到作为dismiss()
调用的一部分广播的结束事件。
也就是说,您可以附加监听模式实例的监听器。调用dismiss()
时,将使用作为事件参数提供的reason
值触发这些侦听器。
来自angular-ui
来源:
function broadcastClosing(modalWindow, resultOrReason, closing) {
return !modalWindow.value.modalScope.$broadcast('modal.closing', resultOrReason, closing).defaultPrevented;
}
参见来源:https://github.com/angular-ui/bootstrap/blob/master/src/modal/modal.js#L514-L516
答案 1 :(得分:2)
原因可以取任何值,并且根本不会影响模态窗口的行为。其原因是允许打开模态的代码做出相应的反应。
例如,如果您有兴趣了解模式是否已关闭,因为用户点击取消或服务器调用错误,您可以
$uibModalInstance.dismiss('cancel') //user hit cancel button
或
$uibModalInstance.dismiss('serverError') //error in server call within modal