✅ 6.2 Composition APIにおける watch の使い方


■ 要点(結論)


■ 基本構文

watch(
  監視対象,
  (newValue, oldValue) => {
    // 変更時の処理
  },
  { immediate: true, deep: true } // オプション(必要に応じて)
);


■ 使用例:childValue の変更を監視

// ファイル名: ParentComponent.vue
<script setup lang="ts">
//変数のリアクティブ管理のためrefをインポート
import { ref, watch } from 'vue';

//子コンポーネントをインポート
import ChildComponent from './ChildComponent.vue';

// v-model対象の値
const childValue = ref<string>('初期値');

// childValueが変わったらログ出力
watch(childValue, (newVal, oldVal) => {
  console.log('childValue changed from', oldVal, 'to', newVal);
});
</script>

<template>
  <div>
    <p>子の値: {{ childValue }}</p>
    <ChildComponent v-model="childValue" />
  </div>
</template>


✅ 解説

項目 内容
refで管理 基本的に ref でリアクティブ変数を作る
watch関数で監視 監視対象のref(またはgetter関数)を第一引数に渡す
newVal, oldVal コールバックの中で新旧の値を受け取れる

🎯 一言まとめ

Composition APIでは、watch(対象, コールバック) で柔軟にリアクティブなデータ変更を検知できる!