✅ 6.3 watchの型付けの注意点


■ 要点(結論)


■ 型付けの基本構文

watch<T>(
  source: WatchSource<T>,
  callback: (newValue: T, oldValue: T) => void
)


■ 具体例(正しい型付け)

// ファイル名: ParentComponent.vue
<script setup lang="ts">
//refとwatchをインポート
import { ref, watch } from 'vue';

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

// v-model対象の値(文字列型と明示)
const childValue = ref<string>('初期値');

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

<template>
  <div>
    <ChildComponent v-model="childValue" />
  </div>
</template>


✅ 型付けポイントまとめ

項目 内容
監視対象の型 ref<string>()ならstring型になる
watchの型パラメータ <string>のように明示
コールバック引数の型 (newVal: string, oldVal: string) と明記

🎯 重要な注意点