vue在组件中实现双向绑定
父组件中的一个变量和子组件的input框实现双向绑定,就要用到下面的方法:
父组件:
<script>
import CustomInput from './CustomInput.vue'
export default {
components: { CustomInput },
data() {
return {
message: 'hello'
}
}
}
</script>
<template>
<CustomInput v-model="message" /> {{ message }}
</template>
子组件:
方法一:
<script>
export default {
props: ['modelValue'],
computed: {
value: {
get() {
return this.modelValue
},
set(value) {
this.$emit('update:modelValue', value)
}
}
}
}
</script>
<template>
<input v-model="value" />
</template>
方法二:
<script>
export default {
props: ["modelValue"],
};
</script>
<template>
<input
:value="modelValue"
@input="$emit('update:modelValue', $event.target.value)"
/>
</template>
最后的效果就是:

输入框中输入的内容和message变量实现双向绑定

浙公网安备 33010602011771号