vue子组件修改父组件props的值
时间: 2023-09-22 11:07:13 浏览: 105
在Vue中,子组件是不能直接修改父组件传递过来的props值的,因为props是单向数据流,只能由父组件向子组件传递数据。如果子组件需要修改父组件的值,可以通过触发一个自定义事件,然后由父组件监听该事件并更新props的值。
下面是一个示例代码:
```javascript
// 父组件
<template>
<div>
<h1>{{ message }}</h1>
<ChildComponent :value="message" @update-value="updateMessage" />
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
data() {
return {
message: 'Hello, Vue!'
};
},
components: {
ChildComponent
},
methods: {
updateMessage(newValue) {
this.message = newValue;
}
}
}
</script>
// 子组件
<template>
<div>
<input type="text" v-model="inputValue" />
<button @click="updateParentValue">Update Parent</button>
</div>
</template>
<script>
export default {
props: ['value'],
data() {
return {
inputValue: ''
};
},
methods: {
updateParentValue() {
this.$emit('update-value', this.inputValue);
}
}
}
</script>
```
在上面的例子中,父组件通过props将message传递给子组件,并监听了子组件触发的`update-value`事件
阅读全文