vue 定时器定时请求接口,当在网站切换页面或者浏览器切换页面清除定时器

1、浏览器切换页面,监听document的显示和隐藏

 	addEventListenerVisibilitychange() {
      document.addEventListener("visibilitychange", this.eventHandle);
    },
    removeEventListenerVisibilitychange() {
      document.removeEventListener("visibilitychange", this.eventHandle);
    },
    eventHandle() {
      if (document.hidden) {
        //页面隐藏,清除定时器
        clearInterval(this.timer);
      } else {
        //页面显示,重新加载首页
        this.reloadFun();
      }
    },
    reloadFun() {
      this.search(this.params, this.timeTypeName, 1);
      this.addEventListenerVisibilitychange();
    },

2、切换网站页面时,监听keep-alive的钩子

  activated() {
    this.reloadFun();
  },
  deactivated() {
    clearInterval(this.timer);
    this.removeEventListenerVisibilitychange();
  },

版权声明:本文为weixin_40466351原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。