vue3子组件接受父组件传过来的v-moudle值
时间: 2024-03-19 17:37:48 浏览: 104
在Vue 3中,子组件接收父组件传递的v-model值的方式与Vue 2有所不同。在Vue 3中,可以使用`v-bind`和`v-on`指令来实现子组件接收父组件的v-model值。
首先,在父组件中,使用`v-bind`指令将父组件的数据绑定到子组件的props属性上。例如:
```html
<template>
<div>
<ChildComponent v-bind:modelValue="value" v-on:update:modelValue="updateValue" />
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
value: ''
};
},
methods: {
updateValue(newValue) {
this.value = newValue;
}
}
};
</script>
```
然后,在子组件中,使用`props`属性声明接收父组件传递的值,并使用`$emit`方法触发父组件的事件来更新值。例如:
```html
<template>
<div>
<input type="text" :value="modelValue" @input="updateModelValue($event.target.value)" />
</div>
</template>
<script>
export default {
props: {
modelValue: {
type: String,
required: true
}
},
methods: {
updateModelValue(newValue) {
this.$emit('update:modelValue', newValue);
}
}
};
</script>
```
这样,父组件的`value`值会通过`modelValue`属性传递给子组件,并且子组件通过`updateModelValue`方法将新的值传递给父组件。
阅读全文