lmislm / lmislm.github.io

hexo的配置
0 stars 0 forks source link

定时器 #2

Open lmislm opened 1 year ago

lmislm commented 1 year ago
  1. vue2 定时器,组件中清除定时器
  2. 清除定时器的常见方法,

定义组件变量,销毁时清除变量, 需要在这个组件实例中保存这个 timer

  data() {
    return {
      timer: null // 定时器名称
    }
  },
  mounted() {
    this.timer =
      (() => {
        // 某些操作
      },
      1000)
  },
  //最后在beforeDestroy()生命周期内清除定时器:
  beforeDestroy() {
    clearInterval(this.timer)
    this.timer = null
  },

通过$once清除定时器

  const timer = setInterval(() => {
    // 某些定时器操作
  }, 500)
  // 通过$once来监听定时器,在beforeDestroy钩子可以被清除。
  this.$once('hook:beforeDestroy', () => {
    clearInterval(timer)
  })

参考:https://blog.csdn.net/zhengyinling/article/details/84565379

  1. 定时监听用户操作,Detecting If the User is Idle or Inactive: https://github.com/soixantecircuits/idle-js https://github.com/vueuse/vueuse/tree/main/packages/core/useIdle https://github.com/serkanyersen/ifvisible.js/tree/master