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
模式。
答案 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();
}