在我的angularjs应用程序中,如果用户在某些时间内处于非活动状态,则会自动注销使用。问题是,如果模态对话框打开,路径更改和使用将被注销,但模态仍保持打开状态。
解决这个问题的一种方法是关闭scope.$destroy
上的模态。但是我必须记得在每个控制器中编写代码,这不是一个理想的解决方案,因为我可能忘了这样做。
有没有其他通用方法来解决这个问题?
答案 0 :(得分:2)
您可以注入$ 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);
}
};
}]);