beforeUnmount 卸载前(选项式)
最后更新:2026-10-22
beforeUnmount 卸载前(选项式)
beforeUnmount 在实例销毁之前调用:DOM 仍可用,适合清理定时器、监听器与第三方实例。
| 分组 | 选项式·渲染与生命周期 |
|---|---|
| 类型 | 选项 |
| 作用域 | 组件内 |
| Vue 版本 | 3.0+ |
| SSR 支持 | 支持 |
📝 语法
export default {
beforeUnmount() {
clearInterval(this.timer)
}
}
⚙️ 参数
| value | 无参数 |
|---|
返回值:无返回值
▶ 示例
修改下面的代码,在预览区实时查看效果:
输出:
切换隐藏时控制台输出「定时器已清理」。
💡 要点
💡 提示 资源清理清单:定时器、addEventListener、WebSocket、第三方实例 destroy()。
ℹ️ 说明 此时 DOM 还在;若清理依赖 DOM 状态要在这里完成。
⚠️ 注意 停用(KeepAlive)不会触发卸载钩子。
🏷️ 相关渲染与生命周期
💡 相关案例
更多案例即将上线。
📚 相关教程
❓ 常见问题
Q 和 unmounted 的分工?
A 需要 DOM 的清理放这里;纯逻辑清理放 unmounted 均可。
Q 忘记清理会怎样?
A 定时器与监听持续运行,造成内存泄漏。
Q 能在这里取消卸载吗?
A 不能,用 v-if 控制。