我是棱角分明的初学者。我正在尝试实现超时。如果用户闲置超过5秒,我会显示模型。当我成功注销超时时。此对话框不断出现。我该如何解决这个问题。
这是我的配置。
<div class="row" infinite-scroll='nextPage()' infinite-scroll-disabled='busy' infinite-scroll-distance='1'>
<div class="col-sm-6" ng-repeat="deployedpet in deployed_pets">
{{data}}
</div>
<div ng-show='busy'>Loading data...</div>
</div>
这是我的活动:
IdleProvider.idle(5);
IdleProvider.timeout(30); // after 30 seconds idle, time the user out
KeepaliveProvider.interval(5*60);
已更新
我的观点代码:
$scope.$on('IdleEnd', function() {
Idle.unwatch();
$uibModal.close();
});
$scope.$on('IdleTimeout', function() {
Idle.unwatch();
$scope.SignOut();
$uibModal.close();
});
$scope.$on('IdleStart', function() {
$scope.warning = $uibModal.open({
templateUrl: 'warning-dialog.html',
windowClass: 'modal-danger'
});
});
在这个div中
**<script type="text/ng-template" id="warning-dialog.html">
<div class="modal-header">
<h3>You're Idle. Do Something!!!</h3>
</div>
<div idle-countdown="countdown" ng-init="countdown=5" class="modal-body">
<uib-progressbar max="5" value="5" animate="false" class="progress-striped active">You'll be logged out in {{countdown}} second(s).</uib-progressbar>
</div>
</script>**
如果我删除 idle-countdown =&#34;倒计时&#34; ,那么型号不会再次出现并将我退出,但我的侧栏会一直显示。我弄清楚了。
侧栏包含菜单和下拉菜单但登出后这些菜单消失了,但这个简单的侧栏继续显示只需删除&#34;空闲倒计时&#34;
答案 0 :(得分:0)
您可能需要在Idle.unwatch();
之前调用signing out
。
答案 1 :(得分:0)
$scope.$on('IdleEnd', function() {
$timeout(function() {
$scope.$apply(function() {
Idle.unwatch();
$uibModal.close();
});
}, 100);
});
试试这个。