'原因'参数

What are the possible values for 'reason' parameter when dismissing a Bootstrap UI Modal window?

本文关键字:参数 原因      更新时间:2023-09-26

我正在处理AngulaJS项目,并使用Bootstrap UI Modal窗口组件。

要关闭模式窗口,大多数示例使用以下代码行:

$uibModalInstance.dismiss('cancel');

我注意到dismiss函数接收一个名为reason:的参数

驳回(原因)(类型:函数)-可用于驳回模态,传递一个理由。

我试图寻找任何信息,但没有找到解释reason的可能值及其可能产生的影响的信息。

有人知道这个参数可以接收什么可能的值,以及它如何影响模式窗口的行为吗?某些值是否比其他值更适合某些场景?

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

原因可以取任何值,并且根本不会影响模式窗口的行为。这样做的目的是允许打开模态的代码做出相应的反应。

例如,如果你有兴趣了解模态是因为用户点击取消还是服务器调用出错而关闭,你可能有

$uibModalInstance.dismiss('cancel') //user hit cancel button

$uibModalInstance.dismiss('serverError') //error in server call within modal