在vue中,使用了element-ui的框架,点击左侧切换内部页面。
有些页面使用了定时器,在其换到其他页面的时候,希望能够关闭这些定期请求和复杂操作。

那么,切换页面之后如何关闭定时器?vue的创建流程中没找到能够激发的函数,使用onblur和visibilitychange也无效。

通过测试,发现在vue中,切换子页面之后,原来的vue对象依然存在,但是document已经无法获取对象了。
基于这一点,可以避免继续处理定时请求。但是定时器还是需要的。

 // <div class="network-container" id="mainDiv">

    mounted() {
      this.loadData()
      this.timer = setInterval(() => {
        if (document.getElementById('mainDiv')) {
           this.loadData() //需要定时查询的操作在隐藏时就不必了。
        }
      }, 1000 * 60)
    },
    unmounted() {
      clearInterval(this.timer)
    },

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐