javascript - 如何在 Angular toastr 上显示倒计时器

标签 javascript angularjs

我正在使用 ng-Idle(ngIdle) 和 Angular Toaster(toaster) 模块。我想在 ng-idle 的 IdleWarn 事件上显示带有倒计时值的 toastr 消息。

$scope.$on('IdleWarn', function(e, countdown) {
      console.log("Timeleft: " + countdown);
      toaster.warning('Title', '<section>' + countdown + '</section>', 0, 'trustedHtml', undefined, undefined, true, undefined, undefined);
    }

这只会呈现具有静态倒计时值的 toastr 。如何实现倒计时器来使用此 toastr 显示倒计时。

最佳答案

我通过直接编辑消息属性解决了这个问题。确保您使用的是最新版本的 Angular-toaster(撰写本文时为 v.2.1.1)。

var sessionToast;
$scope.toastr = // Injected via angularJS

$scope.$on('IdleWarn', function (e, countdown) {

if (sessionToast) {
    sessionToast.scope.message = countdown + ' seconds';
    sessionToast.scope.$digest();
}
else {
    sessionToast = self.toastr.warning(countdown + ' seconds', 'You will be logged out due to inactivity in:', {
        timeOut: 0,
        preventDuplicates: true,
        onHidden: () => {
            sessionToast = undefined;
        }
    });

}


});

$scope.$on('IdleEnd', function () {
    $scope.toastr.clear();
});

$scope.$on('IdleTimeout', function () {
    // do logout
    $scope.toastr.clear();
    // Maybe show a you have been logged out message.
});

关于javascript - 如何在 Angular toastr 上显示倒计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34615939/

相关文章:

Javascript 显示根 XML 文件中有多少个元素

javascript - 如何在对象类中调用 .render 和 .animate 函数?

angularjs - Angular 重复、跨列突破

javascript - 如何使用 jQuery 将动态 key 对值发送到 PHP?

javascript - 如何将 Django 的 CSRF token 添加到 jQuery POST 请求的 header 中?

javascript - 获取下一个和上一个节点类型

javascript - 如何使用基于时间的表达式?

css - Angular Material 在中间制作水平线的方式

javascript - 每当在文本区域上输入按钮时触发按钮

javascript - 禁用具有特定标签的多重选择的optgroup