Vue 组件实例在创建时经历一系列初始化步骤,Vue 在合适的时机调用特定函数,允许开发者在特定阶段运行自己的代码,这些函数称为生命周期钩子。
生命周期可分为四个阶段:创建、挂载、更新、销毁,每个阶段都有两个钩子,一个在前一个在后。
⭐创建阶段: beforeCreate、created
⭐挂载阶段: beforeMount、mounted
⭐更新阶段:beforeUpdate、updated
⭐销毁阶段: beforeDestroy、destroyed
⭐创建阶段: setup
⭐挂载阶段: onBeforeMount、onMounted
⭐更新阶段:onBeforeUpdate、onUpdated
⭐卸载阶段: onBeforeUnmount、onUnmounted
常用的钩子: onMounted (挂载完毕)、onUpdated (更新完毕)、onBeforeUnmount (卸载之前)
<template>
<div class="person">
<h2>当前求和为:{{ sum }}h2>
<button @click="changeSum">点击sum+1button>
div>
template>
<script lang="ts" setup name="Person">
import { ref, onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted } from 'vue'
// 数据
let sum = ref(0)
// 方法
function changeSum() { sum.value += 1 }
console.log('setup')
// 生命周期钩子
onBeforeMount(() => { console.log('挂载之前') })
onMounted(() => { console.log('挂载完毕') })
onBeforeUpdate(() => { console.log('更新之前') })
onUpdated(() => { console.log('更新完毕') })
onBeforeUnmount(() => { console.log('卸载之前') })
onUnmounted(() => { console.log('卸载完毕') })
script>