Vue.js使用定时器定时刷新在线人数

谁践踏了优雅 2022-05-08 05:36 455阅读 0赞
  1. 今天有个任务是:每隔两分钟刷新页面显示的在线人数。因为我之前做的获取消息数量用的Vue.js,所以这个就继续用Vue.js来配合搞定了,因为有属性的双向绑定,确实非常的好用。当然了,如果你只是简单的使用js来搞定,可以看下面的菜鸟教程

http://www.runoob.com/w3cnote/js-timer.html

下面是我自己用Vue.js来搞定的例子,可以参考一下:

  1. /**
  2. * 获取消息数量(未读)和在线人数
  3. *@author howinfun
  4. */
  5. var messageCountVm = new Vue({
  6. el : '#messageCountUl',
  7. data : {
  8. messageCount : '',//消息数量
  9. onlineMembers : 0,//在线人数
  10. },
  11. mounted : function() {
  12. this.$nextTick(function() {
  13. var _this = this;
  14. _this.getMessageCount();
  15. _this.getOnlineMembers();
  16. })
  17. },
  18. filters : {},
  19. methods : {
  20. getMessageCount : function() {
  21. var _this = this;
  22. var url = 'loginController.do?getMessageCount';
  23. var data = {};
  24. $.post(url,data,function(rec){
  25. if(rec.success){
  26. var count = rec.obj;
  27. _this.messageCount = count;
  28. }
  29. },"json");
  30. },
  31. getOnlineMembers : function() {
  32. //先调用一次,给onlineMembers赋值
  33. this.getCount();
  34. /* 每隔两分钟刷新在线人数
  35. 第一个参数为要调用的函数(记得不要带括号)
  36. 第二个参数是定时的时间间隔(这里为两秒钟 */
  37. setInterval(this.getCount,1000 * 120);
  38. },
  39. getCount : function(){
  40. var _this = this;
  41. var url = 'loginController.do?getOnlineMembers';
  42. var data = {};
  43. $.post(url,data,function(rec){
  44. if(rec.success){
  45. var count = rec.obj;
  46. _this.onlineMembers = count;
  47. }
  48. },"json");
  49. }
  50. }
  51. });

发表评论

表情:
评论列表 (有 0 条评论,455人围观)

还没有评论,来说两句吧...

相关阅读

    相关 监听器:统计在线人数

            接着,我来写一个监听器的案例来巩固学习监听器的知识,便于日后的查阅和复习。大概分为以下几个步骤: 1.编写统计人数的Servlet,实现特定的监听器接口 2

    相关 使用 Redis 统计在线用户人数

    在构建应用的时候, 我们经常需要对用户的一举一动进行记录, 而其中一个比较重要的操作, 就是对在线的用户进行记录。 本文将介绍四种使用 Redis 对在线用户进行记录的方