检查$modal是否像$dialog.isOpen一样打开



我正在从AngularJS 1.1.15迁移到1.3.15,我目前的问题是让$modal工作而不是$dialog。

如果有人有任何关于迁移的有用链接,我将不胜感激:)我目前正在处理它的每个bug修复。

对于我现在的问题:我之前的代码看起来像:
var msgBox = $dialog.dialog({ ... });
msgBox.open().then(......);

然后改成

var msgBox = $modal.open(...);
msgBox.opened.then(......);

所以现在我遇到的问题是有一个IF:

if (msgBox && msgBox.isOpen())

我如何实现它与$modal?从这里的文档中,我没有看到isOpen的替代品。

在大多数stackoverflow问题上,我看到有人建议使用jQuery,但它相当混乱,我宁愿避免使用。

Thanks for the help

我不知道对此有任何"开箱即用"的解决方案,所以我通过检查$modal.result承诺的状态来检查$modal是否打开或关闭。如下:

  • 待定(0)
  • 解决(1)
  • 拒绝(2)

你可以像这样检查一个模式是否打开:

$modal.result.$$state.status === 1;

关闭后,status变为2

希望能有所帮助。

相关内容

  • 没有找到相关文章

最新更新