【问题标题】:close modal on autologout自动注销时关闭模式
【发布时间】:2014-10-21 12:35:38
【问题描述】:

在我的 angularjs 应用程序中,如果用户在某些分钟内不活动,则使用会自动注销。问题是,如果模式对话框打开,路线更改和使用会被注销,但模式仍然打开。

解决此问题的一种方法是关闭scope.$destroy 上的模式。但是我必须记住在每个控制器中编写该代码,这不是一个理想的解决方案,因为我可能会忘记这样做。

有没有其他通用的方法来解决这个问题?

【问题讨论】:

  • 在这里查看我的答案:stackoverflow.com/questions/25445949
  • 你能把它作为答案吗?
  • 你能把它作为答案吗?我也不认为它是重复的场景和答案是相同的,但是我来自的上下文是不同的,并且无法在我的上下文中得到任何问题。因此我问了这个问题。 SO上有很多类似的问题。但并不总是重复的。无论如何。非常感谢您的回答。没有您的回答就无法解决问题。非常感谢。
  • 好的,给你。 rgds
  • 您能否测试答案并验证它是否符合您的需求?谢谢

标签: angularjs modal-dialog logout


【解决方案1】:

可以注入$modalStack服务并调用函数$modalStack.dismissAll,详见github代码:

https://github.com/angular-ui/bootstrap/blob/master/src/modal/modal.js#L287

假设调用了一个 autoLogout 工厂和一个 closeModals 函数:

myApp.factory('autoLogout', ['$modal', '$modalStack' function($modal, $modalStack) {
    return {
        // all your current code
        closeModals: function(reason) {
            $modalStack.dismissAll(reason);
        }
    };
}]);

【讨论】:

  • 很好的答案。我打算放弃使用 DOM 操作来隐藏模式。
猜你喜欢
  • 2012-10-30
  • 1970-01-01
  • 2011-09-12
  • 2015-04-16
  • 1970-01-01
  • 2012-04-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多