Props down, events up — parent-child communication.
Props:
1<!-- Parent -->2<Child :message="msg" @update="handleUpdate" />34<!-- Child -->5<script setup>6const props = defineProps<{ message: string }>()7const emit = defineEmits<{ update: [value: string] }>()8</script>
v-model:
1<Child v-model="text" />23<!-- Child -->4<script setup>5const model = defineModel<string>()6</script>
Key: Props for parent->child, emit for child->parent.