angularjs – 可靠地确定角度模态是打开还是关闭(显示或隐藏)

前端之家收集整理的这篇文章主要介绍了angularjs – 可靠地确定角度模态是打开还是关闭(显示或隐藏)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一种可靠地确定角度模态窗口当前是否打开或关闭方法

标准的Bootstrap JS为此提供了’显示的’/’隐藏’事件。

现在我只能包装modal.close()函数,并将一个变量设置为“closed”。此外,我正在删除模态对象,再次打开时重新实例化它。但是,这并不包括用户在背景幕上点击或按ESC键关闭模式的情况。

有没有干净的方式来涵盖这些情况呢?

TLDR:
在您的应用程序中包含模块ui.bootstrap.modal,在您的控制器/服务中注入工厂$ modalStack然后!! $ modalStack.getTop()足以知道是否存在模态。

详细解决方案:
我面对同样的问题,我想出了以下工作:

有一个名为$ modalStack的工厂,它在ui-bootstrap lib中定义,它处理模态。相同的服务也有一个叫做getTop()的方法,它返回dom中最顶层的模态。 (和一个方法dismissAll()关闭所有的模态)。所以我写了一个小功能的小模块。

var utilsModule = angular.module('utilsModule',['ui.bootstrap.modal']);

utilsModule.factory('modalUtils',[
  '$modalStack',function ($modalStack) {
    return {
      modalsExist: function () {
        return !!$modalStack.getTop();
      },closeAllModals: function () {
        $modalStack.dismissAll();
      }
    };
  }
]);
原文链接:https://www.f2er.com/angularjs/144176.html

猜你在找的Angularjs相关文章