Vue3.x 组合式api的生命周期钩子
Vue3 组合式api 的生命周期
- beforeCreate created,setup语法糖模式(组合式api)是没有这两个生命周期的,用setup去代替
- onBeforeMount 获取不到DOM, onMounted可以获取DOM
- onBeforeUpdate获取的是更新之前的DOM,onUpdated获取的是更新之后的DOM
- onActivated和onDeactivated是keep-alive独有的组件,在这里不描述
<template>
<div>演示生命周期</div>
<div ref="div">{{str}}</div>
<button @click="change">修改</button>
</template>
<script setup lang='ts'>
import { ref, onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted, onRenderTracked, onRenderTriggered } from 'vue';
const str = ref<string>('aaa')
const div = ref<HTMLDivElement>()
const change = () => {
str.value = '我被改变了'
}
// 创建
onBeforeMount(() => {
console.log('创建之前', div.value);
})
onMounted(() => {
console.log('创建完成', div.value);
})
// 更新
onBeforeUpdate(() => {
console.log('更新组件之前', div.value?.innerText);
})
onUpdated(() => {
console.log('更新组件完成', div.value?.innerText);
})
// 卸载
onBeforeUnmount(() => {
console.log('销毁之前');
})
onUnmounted(() => {
console.log('销毁完成');
})
// 调试
onRenderTracked((e) => {
console.log(e);
})
onRenderTriggered((e) => {
console.log(e);
})
</script>
洗尽铅华始见金,褪去浮华归本真
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南