就是要帶大家認識 Vue 元件「出生到死亡」的整個過程,以及可以在什麼時間點插入程式邏輯。
想像一個元件就像一艘飛船:
這些函式要在 <script setup>
內用 import { onMounted, onUpdated, onUnmounted } from 'vue'
來使用。
1.onBeforeMount
2.onMounted
3.onBeforeUpdate
4.onUpdated
5.onBeforeUnmount
6.onUnmounted
想像我們做一個「探測器元件」,進入黑洞時要記錄狀態,離開時要清理。
App.vue:
<template>
<div>
<h2>🛰️ 黑洞探測器</h2>
<p>位置:{{ position }}</p>
<button @click="toggle">切換探測器顯示</button>
<Probe v-if="showProbe" />
</div>
</template>
<script setup>
import { ref } from 'vue'
import Probe from './Probe.vue'
const showProbe = ref(true)
const position = ref('黑洞邊緣')
function toggle() {
showProbe.value = !showProbe.value
position.value = showProbe.value ? '黑洞邊緣' : '已撤離'
}
</script>
Probe.vue:
<template>
<p>🚀 探測器啟動中… (看 console)</p>
</template>
<script setup>
import { onMounted, onUpdated, onUnmounted } from 'vue'
onMounted(() => {
console.log('✅ 探測器已進入黑洞觀測站')
})
onUpdated(() => {
console.log('🔄 探測器數據已更新')
})
onUnmounted(() => {
console.log('❌ 探測器已撤離黑洞,關閉觀測')
})
</script>
效果:
Probe
出現 → console 印「✅ 探測器已進入黑洞」。v-if
關閉 Probe
→ console 印「❌ 探測器已撤離」。onMounted
(初始載入)、onUpdated
(資料更新後)、onUnmounted
(銷毀時清理)。明天我們要再來實戰做看看To do list~!
參考資源
https://vuejs.org/guide
https://www.runoob.com/vue3