vue2组件封装,子调用父方法并传递参数
时间: 2023-11-30 08:41:09 浏览: 55
为了实现子组件调用父组件的方法并传递参数,我们可以使用Vue2中提供的自定义事件和props属性。具体步骤如下:
1.在父组件中定义一个方法,该方法将作为子组件调用的方法,并将其作为props属性传递给子组件。
2.在子组件中,通过$emit方法触发一个自定义事件,并将需要传递给父组件的参数作为$emit方法的第二个参数传递。
3.在父组件中,通过在子组件上监听自定义事件来调用父组件的方法,并将子组件传递的参数作为回调函数的参数传递。
下面是一个示例代码,演示了如何在Vue2中实现子组件调用父组件的方法并传递参数:
```html
<!-- 父组件 -->
<template>
<div>
<child-component :data="data" @child-event="handleChildEvent"></child-component>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue'
export default {
components: {
ChildComponent
},
data() {
return {
data: {}
}
},
methods: {
handleChildEvent(param) {
// 处理子组件传递的参数
console.log(param)
}
}
}
</script>
<!-- 子组件 -->
<template>
<div>
<button @click="handleClick">点击触发事件</button>
</div>
</template>
<script>
export default {
props: {
data: {
type: Object,
required: true
}
},
methods: {
handleClick() {
// 触发自定义事件,并将参数传递给父组件
this.$emit('child-event', 'hello world')
}
}
}
</script>
```