vue 子组件像父组件传值
时间: 2023-11-24 13:08:00 浏览: 87
Vue子组件向父组件传值可以使用`$emit`方法。具体步骤如下:
1. 在子组件中定义一个方法,该方法通过`this.$emit`方法向父组件传递数据。
2. 在父组件中使用子组件时,通过`v-on`指令监听子组件触发的事件,并在触发时执行相应的方法。
下面是一个示例代码,演示了如何在Vue中实现子组件向父组件传值:
子组件代码:
```vue
<template>
<div>
<button @click="handleClick">向父组件传值</button>
</div>
</template>
<script>
export default {
methods: {
handleClick() {
// 向父组件传递两个值
this.$emit('change', this.value, this.text);
}
}
}
</script>
```
父组件代码:
```vue
<template>
<div>
<p>子组件传递的值:{{value}} {{text}}</p>
<child-component @change="handleChange"></child-component>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
value: '',
text: ''
}
},
methods: {
handleChange(value, text) {
// 接收子组件传递的值
this.value = value;
this.text = text;
}
}
}
</script>
```
在上面的代码中,子组件中的`handleClick`方法通过`this.$emit`方法向父组件传递了两个值。父组件中使用`v-on`指令监听子组件触发的`change`事件,并在触发时执行`handleChange`方法,从而接收子组件传递的值。
阅读全文