vue3如何emit v-model
时间: 2023-10-18 11:59:56 浏览: 88
在Vue 3中,可以使用`$emit`来触发一个自定义事件来实现`v-model`的双向绑定。下面是一个示例:
首先,在子组件中,你可以使用`$emit`来触发一个自定义事件,同时传递需要更新的值作为参数:
```vue
<template>
<input :value="value" @input="updateValue($event.target.value)" />
</template>
<script>
export default {
props: ['value'],
methods: {
updateValue(newValue) {
this.$emit('update:value', newValue);
}
}
}
</script>
```
在父组件中,你可以使用自定义事件来更新`v-model`绑定的值:
```vue
<template>
<div>
<child-component v-model="message" />
<p>{{ message }}</p>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
message: ''
};
}
}
</script>
```
在这个例子中,当子组件的输入框变化时,会通过自定义事件`update:value`触发父组件的更新操作,从而实现了`v-model`的双向绑定。
阅读全文