子组件调用父组件方法,并传值
时间: 2023-11-30 08:43:18 浏览: 79
子组件调用父组件方法,并传值的方法如下:
1.在父组件中定义一个方法,用来接收子组件传递的值。
2.将该方法通过props传递给子组件。
3.在子组件中通过$emit方法触发父组件中的方法,并将需要传递的值作为参数传递。
以下是一个示例代码:
父组件:
```vue
<template>
<div>
<child :change="handleChange"></child>
<p>父组件中的值:{{value}}</p>
</div>
</template>
<script>
import Child from './Child.vue'
export default {
components: {
Child
},
data() {
return {
value: ''
}
},
methods: {
handleChange(val) {
this.value = val
}
}
}
</script>
```
子组件:
```vue
<template>
<div>
<input type="text" v-model="inputValue" @blur="handleBlur">
</div>
</template>
<script>
export default {
props: {
change: {
type: Function,
required: true
}
},
data() {
return {
inputValue: ''
}
},
methods: {
handleBlur() {
this.change(this.inputValue)
this.$emit('change', this.inputValue)
}
}
}
</script>
```
在上面的代码中,父组件中定义了一个handleChange方法,用来接收子组件传递的值,并将该方法通过props传递给子组件。子组件中通过$emit方法触发父组件中的handleChange方法,并将需要传递的值作为参数传递。
阅读全文