我正在使用Angular,我需要确定某人在页面上已有多长时间

时间:2018-08-29 14:42:56

标签: javascript angular timer

我已经看到了几种使用香草JS和jQuery的方法,但是不幸的是,没有一种方法可以解决如何使用Angular解决这一问题。

我不是最有经验的人,但是我正在努力获取某种计时器,当用户单击某个页面时,它会触发计数器,然后当他离开页面时,使用ngOnDestory来停止计数器并发送它到后端以将其存储在数据库中。

如果任何人都可以以最简单的方式提供建议,请告诉我。我读过诸如TimeMe.js之类的东西,虽然很棒,但不确定如何使用Angular来实现它。还看到了https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload上的窗口事件处理程序。

不重要无关紧要,如果用户不活动或不查看页面,可以在首先解决这个问题后解决,首先我需要计时器来进行一些研究。

非常感谢您的光临。

1 个答案:

答案 0 :(得分:4)

您可以像使用ngOnInit和ngOnDestroy一样保存时间戳

ngOnInit (){
    this.startTime = Date.now();
}
ngOnDestroy (){
    this.endTime = Date.now();
    totalTime = this.endTime - this.startTime;
}

然后totalTime将是您可以发送到后端的时间