22
Vue 3 學習之旅
進階應用
響應式基礎:ref()
·6 分鐘閱讀·進階應用
摘要
ref() 是 Vue 中用來建立「響應式」變數的最基礎工具。它能將任何型別的資料(特別是數字、字串等基本型別)包裝成一個響應式物件。
定義與說明
ref() 函數接收一個初始值,並回傳一個帶有 .value 屬性的特殊物件(稱為 "ref 物件")。在 JavaScript (<script>
) 中,你必須透過 .value 來存取或修改這個值。而在模板 (<template>
) 中,Vue 會自動幫你「解包」(unwrap),所以你可以直接使用變數名稱,無需 .value。
實作範例
Vue SFC
<script setup>
import { ref } from 'vue';
// 建立一個響應式的 ref 物件,初始值為 0
const count = ref(0);
function increment() {
// 在 script 中,必須使用 .value 來修改
count.value++;
console.log(`目前的值是: ${leftBrace}count.value${rightBrace}`);
}
</script>
<template>
<button @click="increment">點擊次數: {{ count }}</button>
</template>
結論
ref() 是讓單一值(無論是基本型別還是物件)具備響應性的首選方式。它的核心規則就是:「在 script 中用 .value,在 template 中直接用」。
ref 響應式 基本型別