当前位置:首页 > VUE

vue定时器简单实现

2026-01-07 04:59:30VUE

定时器基础实现

在Vue中使用setIntervalclearInterval实现定时器功能。在组件的data中定义计时器变量,mounted钩子中启动定时器,beforeDestroy钩子中清除定时器避免内存泄漏。

export default {
  data() {
    return {
      timer: null,
      count: 0
    }
  },
  mounted() {
    this.timer = setInterval(() => {
      this.count++
      console.log('定时执行', this.count)
    }, 1000)
  },
  beforeDestroy() {
    clearInterval(this.timer)
  }
}

方法封装实现

将定时器逻辑封装为可复用的方法,便于在多个地方调用和控制。

export default {
  data() {
    return {
      timer: null,
      isActive: false
    }
  },
  methods: {
    startTimer() {
      this.timer = setInterval(this.tick, 1000)
      this.isActive = true
    },
    stopTimer() {
      clearInterval(this.timer)
      this.isActive = false
    },
    tick() {
      console.log('定时执行')
    }
  }
}

使用Vue3 Composition API

Vue3的setup语法中使用onMountedonUnmounted生命周期钩子实现定时器。

import { ref, onMounted, onUnmounted } from 'vue'

export default {
  setup() {
    const count = ref(0)
    let timer = null

    onMounted(() => {
      timer = setInterval(() => {
        count.value++
      }, 1000)
    })

    onUnmounted(() => {
      clearInterval(timer)
    })

    return { count }
  }
}

使用第三方库

安装vue-timers插件简化定时器管理,自动处理组件销毁时的清理工作。

npm install vue-timers
import Vue from 'vue'
import VueTimers from 'vue-timers'

Vue.use(VueTimers)

export default {
  timers: {
    logTime: { time: 1000, autostart: true }
  },
  methods: {
    logTime() {
      console.log('每秒执行')
    }
  }
}

注意事项

定时器需要在组件销毁时手动清除,否则会导致内存泄漏。在Vue3中可以使用watchEffect自动清理副作用。

import { watchEffect } from 'vue'

watchEffect((onInvalidate) => {
  const timer = setInterval(() => {
    console.log('执行')
  }, 1000)

  onInvalidate(() => {
    clearInterval(timer)
  })
})

vue定时器简单实现

标签: 定时器简单
分享给朋友:

相关文章

vue 简单实现

vue 简单实现

Vue 简单实现 Vue 是一个渐进式 JavaScript 框架,适合快速构建用户界面。以下是实现一个简单 Vue 应用的步骤: 安装 Vue 通过 CDN 引入 Vue 是最简单的方式:…

vue 实现简单登录

vue 实现简单登录

实现 Vue 简单登录功能 创建登录组件 在 Vue 项目中创建一个登录组件 Login.vue,包含用户名和密码输入框以及登录按钮。 <template> <div clas…

vue 实现简单表格

vue 实现简单表格

以下是在 Vue 中实现简单表格的几种方法: 使用原生表格标签 通过 Vue 的数据绑定功能渲染表格数据: <template> <table> <t…

vue简单实现删除

vue简单实现删除

Vue 删除功能实现 使用 v-for 和 splice 方法删除数组元素 <template> <div> <ul> <li v…

vue修改简单实现

vue修改简单实现

Vue 修改简单实现 在 Vue 中实现简单的修改操作,通常涉及数据绑定、方法调用和响应式更新。以下是几种常见场景的实现方式: 修改数据并更新视图 Vue 的响应式系统会自动追踪数据变化并更新视图…

vue实现简单登录注册

vue实现简单登录注册

Vue 实现登录注册功能 项目初始化 使用 Vue CLI 创建项目 vue create auth-demo cd auth-demo 安装必要依赖 npm install axios vu…