:props是干嘛的
时间: 2024-07-26 10:01:07 浏览: 107
`:props`是Vue模板中的一个指令,全称为`v-bind:props`,用于绑定组件的属性(properties)。当我们在一个组件中引用另一个组件时,通常会传递一些数据或行为给被引用组件,这时就可以使用`props`来完成这个任务。`props`允许父组件向子组件传递数据,而子组件只能读取这些数据,不能修改它们(除非声明为`prop`的`default`值是可以改变的)。
举个例子,假设有一个`UserCard`组件,它接受用户信息作为属性:
```html
<template>
<div class="user-card">
<h3>{{ user.name }}</h3>
<p>Email: {{ user.email }}</p>
</div>
</template>
<script>
export default {
props: {
user: {
type: Object,
required: true, // 确保必传
default: () => ({ name: '', email: '' }) // 默认值
}
}
}
</script>
```
在这个例子中,`props: { user: ... }`部分定义了`user`是一个必须提供的对象属性。父组件可以通过`<UserCard :user="selectedUser" />`的形式传递具体的用户对象,如`{ name: '张三', email: 'zhangsan@example.com' }`,然后`UserCard`组件会在内部显示这些数据。
阅读全文