Компоненты — это переиспользуемые, самодостаточные части интерфейса. Props — это способ, которым родитель передает данные вниз потомку — это типизированные, только для чтения входные данные потомка.
Определение props в потомке
<!-- UserCard.vue -->
<script setup>
// declare props with types, requirements, and defaults
const props = defineProps({
name: { type: String, required: true },
age: { type: Number, default: 0 },
isAdmin: { type: Boolean, default: false },
});
</script>
<template>
<div class="card">
<h2>{{ name }}</h2> <!-- use props directly in the template -->
<p>Age: {{ age }}</p>
</div>
</template>
