v-modle子组件传递父组件
时间: 2024-10-13 11:01:09 浏览: 29
在Vue.js中,v-model指令可以用于双向数据绑定,不仅适用于元素属性,也支持在子组件之间传递数据。当你需要在子组件`<child>`中使用来自父组件`<parent>`的数据时,你可以这样做:
1. **父组件 `<Parent>` 中**:
父组件通常会将需要传递的数据通过props传给子组件,并将`v-model`绑定到这个prop上。
```html
<template>
<div>
<input type="text" v-model="parentValue">
<child :value.sync="parentValue"></child>
</div>
</template>
<script>
export default {
data() {
return { parentValue: '' };
}
};
</script>
```
2. **子组件 `<Child>` 的模板部分**:
子组件接受名为`value`的props,然后在其内部使用`v-model`,这会自动建立父子组件之间的数据同步。
```html
<template>
<input type="text" v-model="value">
</template>
<script>
export default {
props: ['value'],
watch: {
value(newVal) {
this.$emit('update:value', newVal);
}
}
};
</script>
```
当子组件中的输入发生变化时,它会更新自身`value`属性,并通过`update:value`事件通知父组件更新。
阅读全文