vue3父传子的默认值
时间: 2023-10-05 14:10:28 浏览: 100
在Vue 3中,父组件向子组件传递默认值有两种方式:props 和 provide/inject。下面分别介绍这两种方法。
1. 使用 props:
在父组件中,可以通过props定义一个属性,并给它设置默认值。子组件可以通过这个属性来接收父组件传递的默认值。示例代码如下:
```vue
<template>
<div>
<child-component :default-value="defaultValue"></child-component>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
defaultValue: 'default value'
};
}
}
</script>
```
在子组件中,可以通过props来接收父组件传递的默认值。示例代码如下:
```vue
<template>
<div>
<p>{{ defaultValue }}</p>
</div>
</template>
<script>
export default {
props: {
defaultValue: {
type: String,
default: 'default value'
}
}
}
</script>
```
2. 使用 provide/inject:
父组件可以使用provide选项提供默认值,并在子组件中使用inject选项获取该默认值。示例代码如下:
```vue
<template>
<div>
<child-component></child-component>
</div>
</template>
<script>
export default {
provide() {
return {
defaultValue: 'default value'
};
}
}
</script>
```
在子组件中,可以使用inject选项获取父组件提供的默认值。示例代码如下:
```vue
<template>
<div>
<p>{{ defaultValue }}</p>
</div>
</template>
<script>
export default {
inject: ['defaultValue']
}
</script>
```
这样,子组件就可以使用父组件提供的默认值了。注意,使用provide/inject时,父组件提供的值会被所有的后代组件共享。