vue生命周期函数--离开页面时停止函数运行

📒 笔记 · 2024-02-12

页面定义一个生命周期函数,页面打开时每三秒钟执行一次函数,但是当跳转到其他页面时,该函数还是在运行。因此要解决这个问题。


之前定义的生命周期

onMounted(() => {
    // 在组件挂载时调用 getStatus
    getStatus()
    const timer = setInterval(() => {
        getStatus()
    }, 3000); // 每隔3秒执行一次
})

每三秒钟执行一次getStatus()

加入onBeforeUnmount,使得组件卸载时停止getStatus的运行

onMounted(() => {
    // 在组件挂载时调用 getStatus
    getStatus()
    const timer = setInterval(() => {
        getStatus()
    }, 3000); // 每隔3秒执行一次

    // 在组件卸载前执行清理逻辑
    onBeforeUnmount(() => {
        clearInterval(timer)
    })
})
Vue TypeScript
Theme Jasmine by Kent Liao