vue props传值给vmodel
时间: 2023-10-18 21:23:41 浏览: 96
vue中使用props传值的方法
5星 · 资源好评率100%
Vue中,props是从父组件向子组件传递数据的方式,而v-model是用于在子组件中双向绑定数据的方式。因此,如果要将父组件中的数据通过props传递给子组件,并在子组件中使用v-model进行双向绑定,可以通过以下方式实现:
1. 在父组件中定义一个数据,并将其通过props传递给子组件:
```
<template>
<div>
<child-component :value="parentValue" v-model="parentValue"></child-component>
</div>
</template>
<script>
export default {
data() {
return {
parentValue: ''
}
}
}
</script>
```
2. 在子组件中,接收props中传递的数据,并使用v-model进行双向绑定:
```
<template>
<div>
<input type="text" v-model="innerValue">
</div>
</template>
<script>
export default {
props: ['value'],
data() {
return {
innerValue: this.value
}
},
watch: {
innerValue(newVal) {
this.$emit('input', newVal)
}
}
}
</script>
```
在子组件中,定义了一个内部数据innerValue,用于双向绑定输入框的值。同时,通过props接收了父组件传递的value数据,并在data中将其赋值给innerValue。通过watch监听innerValue的变化,当内部数据变化时,使用$emit方法触发input事件,将最新的innerValue传递给父组件。
这样,在父组件中使用v-model即可实现双向绑定,并将数据传递给子组件。
阅读全文