認識Vue裡的生命週期

更新 發佈閱讀 5 分鐘

先來了解Vue的生命週期的規律跟意思。

我們先來看Vue 的生命週期階段:

  1. setup() :
    宣告 reactive / ref、注入 store,設定所有初始能量。→ 此時元件尚未渲染,但狀態樹已生成。

說白一點:

  • 發生時機:元件「剛被建立」,但 DOM 還沒出現
  • 適合做:初始化資料、宣告 ref/reactive、computed、watch、定義函式、準備 API 參數
  • 不適合做:直接抓 DOM(畫面還沒渲染)
  1. onBeforeMount :
    DOM 尚未出現在畫面中。可以在這裡做最後預備或初始判斷。
  • 發生時機:第一次要把畫面掛到 DOM 前。通常可以直接用 onMounted 比較實際
  1. onMounted :
    元件正式出現在頁面上!這時候才能安全地操作 DOM、呼叫 API、啟動監聽。
  • 發生時機:元件已經第一次渲染完成DOM 已經出現
  • 可以做:
  • 打 API 取得初始資料(列表、使用者資料…)
  • 操作 DOM(例如 focus input、讀取元素寬高)
  • 設定事件監聽(window scroll / resize)
  • 開定時器(setInterval)
  1. onBeforeUpdate / onUpdated :
    資料改變 → 頁面要重新渲染。在 onBeforeUpdate 先暫停舊能量(如清除動畫),
    在 onUpdated 再重新開啟(例如重啟動畫或更新視覺效果)。
  • 發生時機:元件要被移除前
  • 適合做:清理工作(cleanup)
    • 移除事件監聽 window.removeEventListener
    • clearInterval / clearTimeout
    • 停止訂閱(例如 websocket)
  1. onBeforeUnmount / onUnmounted:
    元件即將消失,釋放所有監聽器、計時器與全域綁定,否則殘留的魔力(setInterval、window 事件)可能導致錯誤或記憶體洩漏。
  • 發生時機:元件已經被移除
  • 適合做:最後清理(通常 cleanup 放 before/unmounted 都可)


也就說:

  • 建立中(Creation / Setup):資料、ref、computed…
  • 掛載(Mounting):第一次把模板渲染到 DOM 上(我們才能抓到畫面元素)
  • 更新(Updating):資料變了 → 重新渲染畫面
  • 卸載(Unmounting):元件被移除(離開頁面 / v-if 變 false / 換路由)

什麼是生命周期:

生命週期就像元件的呼吸與心跳

若你在錯誤的時間點執行請求、操作 DOM 或監聽事件可能會導致:

  • 資料可能還沒載入完畢,導致渲染失敗
  • 頁面切換後仍執行 setInterval → 記憶體洩漏
  •  watch 寫錯會導致無限循環或效能暴衝




我們直接來看範例:

<script setup>
import { ref, onMounted, onUnmounted } from 'vue'

const count = ref(0)

// 元件「出現」在畫面後會執行
onMounted(() => {
// 使用onMounted讓元件先出現渲染了​
// ​而onMounted會讓元件出現在頁面上!
console.log('元件已經出現在畫面上了!')
// 印出'元件已經出現在畫面上了!'
})

// 元件「離開」畫面前會執行
onUnmounted(() => {
// 使用​onUnmounted如果元件已經被移除
// ​onUnmounted會做最後的清理
console.log('元件要被移除了,做清理!')
// 印出'元件要被移除了,做清理!'
})

function add() {
count.value++
// 被<button @click="add">+1</button>
// 被按鈕點擊一次,count就會+1
}
</script>

<template>
<div>
<p>目前數字:{{ count }}</p>
// 綁定變數count
<button @click="add">+1</button>
// 呼叫函式'add',來做按鈕,每點擊一次count會+一次
</div>
</template>
vocus|新世代的創作平台

每點擊一次,就會印元件已經出現在畫面上了


留言
avatar-img
睿哲楊的沙龍
2會員
18內容數
睿哲楊的沙龍的其他內容
2026/02/09
那我們先來了解什麼是認識Vue裡的模板引用? 模板引用的意思是:允許我們在Vue的組件的模板中標記一個DOM元素或子組件,並在setup選項中去訪問它。 我們可以說白一點就是:我們在template 裡先幫某個 DOM 元素或子元件貼上一個「名字」,等畫面真的被渲染出來後,就可以在 <scrip
2026/02/09
那我們先來了解什麼是認識Vue裡的模板引用? 模板引用的意思是:允許我們在Vue的組件的模板中標記一個DOM元素或子組件,並在setup選項中去訪問它。 我們可以說白一點就是:我們在template 裡先幫某個 DOM 元素或子元件貼上一個「名字」,等畫面真的被渲染出來後,就可以在 <scrip
2026/02/05
在開始前我們先講解響應式函數,響應式函數就是 import { ref, watch } from 'vue' const count = ref(0) 1 2 3 4 宣告一個常數,可以讓我們後續使用。 為這個常數賦予名稱。 響應式函數並接收一個參數初始值
2026/02/05
在開始前我們先講解響應式函數,響應式函數就是 import { ref, watch } from 'vue' const count = ref(0) 1 2 3 4 宣告一個常數,可以讓我們後續使用。 為這個常數賦予名稱。 響應式函數並接收一個參數初始值
2026/01/15
npm: npm是一個 Node.js 預設的 JavaScript 套件管理工具,它幫助開發者下載、安裝、管理和分享專案所需的程式碼套件,也可想像成JavaScript 的「套件管理員」。 主要在做: 安裝套件(例如 axios、react…) 管理版本(你裝的是哪一版、依賴哪些東西)
2026/01/15
npm: npm是一個 Node.js 預設的 JavaScript 套件管理工具,它幫助開發者下載、安裝、管理和分享專案所需的程式碼套件,也可想像成JavaScript 的「套件管理員」。 主要在做: 安裝套件(例如 axios、react…) 管理版本(你裝的是哪一版、依賴哪些東西)
看更多
你可能也想看
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
創作的路上,除了產出好內容,認識著作權、並保護自己的創作權益,也是非常重要的一環。成長學院將分享一系列與著作權、IP 相關的內容,幫助創作者們建立基本觀念與認知,持續成長。
Thumbnail
創作的路上,除了產出好內容,認識著作權、並保護自己的創作權益,也是非常重要的一環。成長學院將分享一系列與著作權、IP 相關的內容,幫助創作者們建立基本觀念與認知,持續成長。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
在台灣,有不可亂撿地上紅包的忌諱,否則就得和女鬼冥婚;而在古代,也有不可亂撿地上財物的忌諱,因為那恐怕是歹毒的巫蠱術,你不用牠來害人,牠就會害你。至於狠人林巡檢,是如何破解的呢? 這則故事,全篇沒有一字道德教訓,卻引導讀者深切理解「廉」與「恥」的涵義,比起顧炎武的〈廉恥〉更具可讀性與教育意義。
Thumbnail
在台灣,有不可亂撿地上紅包的忌諱,否則就得和女鬼冥婚;而在古代,也有不可亂撿地上財物的忌諱,因為那恐怕是歹毒的巫蠱術,你不用牠來害人,牠就會害你。至於狠人林巡檢,是如何破解的呢? 這則故事,全篇沒有一字道德教訓,卻引導讀者深切理解「廉」與「恥」的涵義,比起顧炎武的〈廉恥〉更具可讀性與教育意義。
Thumbnail
教學主題:認識乘法(一)~乘法的意義 教材版本:適用於康軒、南一、翰林各版本(可微調) 教學時間:40分鐘 一、教學目標 學生能夠: 1. 理解乘法是「連加」的表現方式。 2. 以「幾個幾」的方式解釋乘法意義。 3. 讀懂並書寫基本的乘法算式(如:3×2)。 4. 利
Thumbnail
教學主題:認識乘法(一)~乘法的意義 教材版本:適用於康軒、南一、翰林各版本(可微調) 教學時間:40分鐘 一、教學目標 學生能夠: 1. 理解乘法是「連加」的表現方式。 2. 以「幾個幾」的方式解釋乘法意義。 3. 讀懂並書寫基本的乘法算式(如:3×2)。 4. 利
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
我請學生舉一則說謊事件為例,填寫〈說謊事件分析表〉。首先,簡單敘述事情經過,然後判斷這是屬於說謊事件圖表中的哪一項。有趣的是,明明都是說謊,但當學生準確將說謊事件歸類後,反而可以輕鬆找到避免說謊的方法。最後,根據填寫好的表格寫成一篇解析謊言的議論文,不但論據可靠,論點也極有深度。
Thumbnail
我請學生舉一則說謊事件為例,填寫〈說謊事件分析表〉。首先,簡單敘述事情經過,然後判斷這是屬於說謊事件圖表中的哪一項。有趣的是,明明都是說謊,但當學生準確將說謊事件歸類後,反而可以輕鬆找到避免說謊的方法。最後,根據填寫好的表格寫成一篇解析謊言的議論文,不但論據可靠,論點也極有深度。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News