ng2-idle模式ok应该恢复空闲

时间:2017-08-01 13:36:27

标签: angular ng2-idle

Angular4,@ ng2-idle尝试捕获用户的不活动状态。

代码示例链接 https://hackedbychinese.github.io/ng2-idle/

我正在尝试自定义它,所以每次用户空闲时我都会用ok按钮显示模态。并且用户只能单击模态,才能恢复正常。

页面加载默认中断开启

idle.setInterrupts(DEFAULT_INTERRUPTSOURCES); 

idleStart上我显示我的模态并开始倒计时 在onIdleEnd我关闭我的模态

当模态打开时,我想禁用DEFAULT_INTERRUPTSOURCES仅手动中断,因此我调用idle.clearInterrupts()并在模态ok按下事件调用idle.interrupt(true); 一旦模态结束,我再次设置idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);

似乎效果不佳。在模态关闭并再次打开之后,即使用户与UI进行交互,它也不会在DEFAULT_INTERRUPTSOURCES上进行,并且在setIdle时它会自动进入idle模式。

3 个答案:

答案 0 :(得分:0)

当你的模态更开放时,拨打idle.stop()比清除DEFAULT_INTERRUPTSOURCES然后更改模态关闭电话idle.watch()

答案 1 :(得分:0)

尝试

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <to>example</to>
  <from>Server</from>
  <heading>Reminder</heading>
  <body/>
</note>

解决此问题。

答案 2 :(得分:0)

嗨,以下内容对我有用。

在开放模式下,我清除中断:

  ngOnInit() {
    this.idle.onTimeoutWarning.subscribe((countdown) => this.countdown = countdown);
    this.idle.clearInterrupts();
  }

然后单击“继续”按钮时,我会重置中断并再次开始观察空闲状态:

  continue() {
    this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);
    this.idle.watch();
    this.dialog.close();
  }