angularjs – 可靠地确定角度模态是打开还是关闭(显示或隐藏)
发布时间:2020-12-17 08:07:02 所属栏目:安全 来源:网络整理
导读:我正在寻找一种可靠地确定角度模态窗口当前是否打开或关闭的方法。 标准的Bootstrap JS为此提供了’显示的’/’隐藏’事件。 现在我只能包装modal.close()函数,并将一个变量设置为“closed”。此外,我正在删除模态对象,再次打开时重新实例化它。但是,这
我正在寻找一种可靠地确定角度模态窗口当前是否打开或关闭的方法。
标准的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(); } }; } ]); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |