vue3子父组件双向绑定
时间: 2023-11-09 12:01:59 浏览: 143
在 Vue3 中,可以使用 v-model 指令来实现子父组件的双向绑定。具体实现方式如下:
1. 在子组件中,使用 `emits` 选项声明一个名为 `update:modelValue` 的事件,并在组件中使用 `modelValue` 属性接收父组件传递的值。
```javascript
// 子组件代码
<template>
<input type="text" :value="modelValue" @input="$emit('update:modelValue', $event.target.value)">
</template>
<script>
export default {
props: {
modelValue: {
type: String,
default: ''
}
},
emits: ['update:modelValue']
}
</script>
```
2. 在父组件中,使用 v-model 指令来绑定子组件的值,并在子组件上监听 `update:modelValue` 事件来更新父组件的值。
```javascript
// 父组件代码
<template>
<div>
<child-component v-model="message"></child-component>
<p>父组件中的值:{{ message }}</p>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue'
export default {
components: {
ChildComponent
},
data() {
return {
message: ''
}
}
}
</script>
```
阅读全文